您的位置:首页 > 产品设计 > UI/UE

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];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: