popViewController之同时pop掉2层viewController
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了popViewController之同时pop掉2层viewController,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1949字,纯文字阅读大概需要3分钟。
内容图文
![popViewController之同时pop掉2层viewController](/upload/InfoBanner/zyjiaocheng/532/680c0aba23374fe79584938404a1834a.jpg)
项目中有注册和修改密码功能,一旦注册成功就需要跳转到成功的界面,然后成功界面会有相应返回按钮事件,这时候我就需要直接返回我的上上层视图了 开始我用的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所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。