【发布时间】:2013-04-14 09:29:33
【问题描述】:
在我当前的应用程序中,我想多次使用某个UICollectionView,但选择行为不同。将以下情节提要布局视为“现状”(并且有效):
Basic View Controller 有两个 UIButtons,它们的 Storyboard Push-连接到 Collection View Controller。我想要的是从Basic View Controller 过渡到Collection View Controller,但是从集合中选择一个项目应该弹出视图并返回到Basic View Controller。
我在Collection View Controller 中设置了一个自定义属性,该属性在Basic View Controller 的相应prepareForSegue 消息中设置(或者根本没有,如果用户选择Tab Bar Item),所以没有问题检测哪个控制器或哪个 UI 组件触发了推送(有 3 种方法:选择标签栏项目或点击基本视图上的按钮之一)。
问题是弹出Collection View。
到目前为止我的代码:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { if (self.mode == nil) { // 没做什么 } else if ( [self.mode isEqualToString:@"foobar"] ) { // 我试过的一种方法 [自我dismissViewControllerAnimated:是完成:无]; } else if ( [self.mode isEqualToString:@"blah"] ) { // 其他方法 BasicViewController *targetVC = self.navigationController.viewControllers[ 0 ]; [self.navigationController popToViewController:targetVC 动画:YES]; } }不幸的是,我的应用程序在 dismiss 行分别崩溃。 popToViewController。甚至可以在不同的导航方式中使用相同的视图控制器吗?
我希望有足够的信息来帮助我解决这个问题。您可能知道,项目在增长,我不知道是否还有更多代码需要考虑:)
提前致谢!
【问题讨论】:
标签: ios segue navigationcontroller