UINavigationController 返回上一级,返回根控制器,返回某一级
2015-09-09 09:39
661 查看
主页
----我的(模块)----根控制器
点击进入设置界面(这里简称 A 界面)
点击进入修改密码界面(B 界面)
点击修改密码进入确认修改密码界面(去 C 界面)
点击确定需改密码(返回 A 界面)
//返回指定某一个控制器
for (int i=0; i<self.navigationController.childViewControllers.count;
i++) {
//取出所有子控制器
UIViewController *child=self.navigationController.childViewControllers[i];
//如果是该控制器,就返回这个界面.....
if([childisKindOfClass:[XXXXXXXXXXXXXclass]]){
[self.navigationControllerpopToViewController:child
animated:YES];
}
}
//返回根控制器
[self.navigationControllerpopToRootViewControllerAnimated:YES];
//返回上一级控制器
[self.navigationControllerdismissViewControllerAnimated:YEScompletion:nil];
NSArray *arr =
self.navigationController.viewControllers;
int count=(int)arr.count-1;
for (int i=count; i>=0; i--) {
UIViewController *viewController=arr[i];
//这里面有顺序要求
if([viewController
isKindOfClass:[PYLoginViewController
class]]||[viewController isKindOfClass:[PYAccountCenterViewController
class]] ||[viewController
isKindOfClass:[PYSettingTabViewController
class]])
{
//跳级指定返回上一级
[self.navigationController
popToViewController:viewController
animated:YES];
return;
}
}
//否则直接返回根目录
[self.navigationController
popToRootViewControllerAnimated:YES];
----我的(模块)----根控制器
点击进入设置界面(这里简称 A 界面)
点击进入修改密码界面(B 界面)
点击修改密码进入确认修改密码界面(去 C 界面)
点击确定需改密码(返回 A 界面)
//返回指定某一个控制器
for (int i=0; i<self.navigationController.childViewControllers.count;
i++) {
//取出所有子控制器
UIViewController *child=self.navigationController.childViewControllers[i];
//如果是该控制器,就返回这个界面.....
if([childisKindOfClass:[XXXXXXXXXXXXXclass]]){
[self.navigationControllerpopToViewController:child
animated:YES];
}
}
//返回根控制器
[self.navigationControllerpopToRootViewControllerAnimated:YES];
//返回上一级控制器
[self.navigationControllerdismissViewControllerAnimated:YEScompletion:nil];
NSArray *arr =
self.navigationController.viewControllers;
int count=(int)arr.count-1;
for (int i=count; i>=0; i--) {
UIViewController *viewController=arr[i];
//这里面有顺序要求
if([viewController
isKindOfClass:[PYLoginViewController
class]]||[viewController isKindOfClass:[PYAccountCenterViewController
class]] ||[viewController
isKindOfClass:[PYSettingTabViewController
class]])
{
//跳级指定返回上一级
[self.navigationController
popToViewController:viewController
animated:YES];
return;
}
}
//否则直接返回根目录
[self.navigationController
popToRootViewControllerAnimated:YES];
相关文章推荐
- iOS开发-------选择器(UIPickView)
- 如何使用Xcode分析调试在真机运行的UE4 IOS版游戏
- UI:页面传值、单例模式传值、属性传值、NSUserDefaults 数据持久化
- juicer
- 根据字符串长度计算UILabel的高度
- iOS:分组的表格视图UITableView,可以折叠和展开
- SOAPUI测试REST项目(九)——REST架构推理
- SOAPUI测试REST项目(八)——REST功能测试
- SOAPUI测试REST项目(七)——REST请求工作
- Studio之widget类型及继承于Wiget类型控件的事件-----监听各个GUI控件的交互事件。
- SOAPUI测试REST项目(六)——REST服务和WADL
- SOAPUI测试REST项目(五)——REST服务和WADL
- UIView
- Leetcode: Permutation Sequence
- sql_question
- PHP中关于break与continue的使用
- EasyUI Tabs
- BinaryTreePath
- Leetcode Implement Queue using Stacks
- iOS8 自定义UITabBar (使用popToViewController导致的UITabBarButton重叠的问题)