在我当前的应用程序中,我想UICollectionView多次使用某些,但选择行为不同。将以下情节提要布局视为“是”(并且正在工作):
标签栏控制器(2 项): -> 导航控制器 1 -> 集合视图控制器 -> 一些表视图控制器 -> 导航控制器 2 ->(基本)视图控制器
有Basic View Controller两个与. _ 我想要的是从 过渡到,但是从集合中选择一个项目应该弹出视图并返回到.UIButtonsPushCollection View ControllerBasic View ControllerCollection View ControllerBasic View Controller
我已经在其中设置了一个自定义属性,该属性在Collection View Controller相应的prepareForSegue消息中设置Basic View Controller(或者根本不设置,如果用户选择 a 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. 甚至可以以不同的导航方式使用相同的视图控制器吗?
我希望有足够的信息来帮助我解决这个问题。您可能知道,项目在增长,我不知道是否还有更多代码需要考虑 :)
提前致谢!