首页 > 代码库 > UINavigationController 缺点之一
UINavigationController 缺点之一
在项目开发中遇到下面几个问题:
1. 有些viewcontroller是中间界面(或者叫做过渡界面)是不能返回的
2. 有时候,想更新一下已经push到navigationController中的viewController。
3. 前两个结合的情况。
stackOverflow中给过解决方法,也凑效,下面的代码是针对第三种需求的解决方案
//获得视图栈 NSMutableArray *navigationStack = [[NSMutableArray alloc] initWithArray: self.navigationController.viewControllers]; //找到GroupListVC,并移除 for (UIViewController *controller in navigationStack) { if ([controller isKindOfClass:[GroupListVC class]]) { vc = (GroupListVC*)controller; [navigationStack removeObject:vc]; break; } } //对视图栈进行重新赋值 self.navigationController.viewControllers = navigationStack; GroupListVC *vc = [[GroupListVC alloc]init];//新建GroupListVC vc.listtype = FGroupListFromAddressCreateGroup; [self.navigationController pushViewController:vc animated:YES]; //不让自己进入stack navigationStack = [[NSMutableArray alloc] initWithArray: self.navigationController.viewControllers]; for (UIViewController *controller in navigationStack) { if ([controller isKindOfClass:[Select_GroupChatViewController class]]) { [navigationStack removeObject:controller]; break; } } self.navigationController.viewControllers = navigationStack;
终究iOS SDK应该一个便捷得解决办法,比如enablePushNavigationController
UINavigationController 缺点之一
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。