最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

popViewController之同时pop掉2层viewController

来源:动视网 责编:小采 时间:2020-11-09 07:43:19
文档

popViewController之同时pop掉2层viewController

popViewController之同时pop掉2层viewController:项目中有注册和修改密码功能,一旦注册成功就需要跳转到成功的界面,然后成功界面会有相应返回按钮事件,这时候我就需要直接返回我的上上层视图了 开始我用的BLOCK,可是这种已经不能满足我的要求了, (下面功能虽然没有实现,但是可以理解block的简单使用了
推荐度:
导读popViewController之同时pop掉2层viewController:项目中有注册和修改密码功能,一旦注册成功就需要跳转到成功的界面,然后成功界面会有相应返回按钮事件,这时候我就需要直接返回我的上上层视图了 开始我用的BLOCK,可是这种已经不能满足我的要求了, (下面功能虽然没有实现,但是可以理解block的简单使用了


项目中有注册和修改密码功能,一旦注册成功就需要跳转到成功的界面,然后成功界面会有相应返回按钮事件,这时候我就需要直接返回我的上上层视图了 开始我用的BLOCK,可是这种已经不能满足我的要求了, (下面功能虽然没有实现,但是可以理解block的简单使用了

项目中有注册和修改密码功能,一旦注册成功就需要跳转到成功的界面,然后成功界面会有相应返回按钮事件,这时候我就需要直接返回我的上上层视图了

开始我用的BLOCK,可是这种已经不能满足我的要求了,

(下面功能虽然没有实现,但是可以理解block的简单使用了)

要求:我有3个视图


视图1为登录界面

视图2为注册界面

视图3为提示成功界面


视图2已经push到了视图1上,接下来就要在视图2里写block了,代码如下

ViewController2 . h

@property (nonatomic,copy) void (^callback)(void);//我的block对象


ViewController2 . m


UIStoryboard *sb=[UIStoryboard storyboardWithName:@"Main_iPhone" bundle:nil];

ViewController3 *vc3=(ViewController3 *)[sb instantiateViewControllerWithIdentifier:@"viewcontroller3"];

/*以上2行是我加载故事版中的视图3*/


vc3.phoneNumber=self.phoneNum.text;//在故事版中如果2个视图之间相互传值,可以采用以上3行代码的形式来传递

void (^myBlock)(void)=^{

[self.navigationController popViewControllerAnimated:YES];

};

[vc3 setCallback:myBlock];//将我的block赋给视图3
[self.navigationController pushViewController:vc3 animated:YES];



以下代码为视图3里面的

ViewController3 . h

@property (nonatomic,copy) void (^callback)(void);


ViewController3 . m


if (self.callback) {
self.callback();
}
[self.navigationController popViewControllerAnimated:YES];



现在来看看我是如何实现的吧(简称面包屑用法)

【这种用法可以让你指定到你想返回的视图中去】根据上述功能,我将此段代码放在了视图3中

NSArray *pushVCAry=[self.navigationController viewControllers];

//下面的pushVCAry.count-3 是让我回到视图1中去

UIViewController *popVC=[pushVCAry objectAtIndex:pushVCAry.count-3];


[self.navigationController popToViewController:popVC animated:YES];



希望对大家有所帮助,讲解的不是太好,大家可以在下方留言给我


文档

popViewController之同时pop掉2层viewController

popViewController之同时pop掉2层viewController:项目中有注册和修改密码功能,一旦注册成功就需要跳转到成功的界面,然后成功界面会有相应返回按钮事件,这时候我就需要直接返回我的上上层视图了 开始我用的BLOCK,可是这种已经不能满足我的要求了, (下面功能虽然没有实现,但是可以理解block的简单使用了
推荐度:
标签: pop vi 同时
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top