在 Modal 之后推送 UIView
Posted
技术标签:
【中文标题】在 Modal 之后推送 UIView【英文标题】:Push UIView after Modal 【发布时间】:2013-10-12 12:54:31 【问题描述】:我正在使用模态过渡在 view1 到 view2 之间移动,并且我想使用从 view2 到 view3 的弹出过渡(以编程方式),但它不起作用(我使用导航控制器作为 root):
代码是(在view2中):
view3 *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"view3"];
[self.navigationController pushViewController:controller animated:YES];
代码应该是怎样的?
【问题讨论】:
您要弹出哪个视图?是指 view1、view2 还是 view3? 提供更多代码如何从 view1 过渡到 view2 将有助于我们更好地理解。 @Unheilig 故事板是这样的:navigation_controller 作为根,view1 通过模态转换连接到 view2(非编程方式,通过故事板。view2 通过推送转换连接到 view3(就像我写的代码) . 当我点击按钮没有任何反应时,我在按钮操作中写了 NSSlog 以验证它的正常(它是:))。我在某处读到问题可能是由于堆栈问题。对吗? 【参考方案1】:就代码而言,我觉得一切都很好。
您应该提供有关为什么这不起作用的信息...您是否遇到错误?如果是在哪里?
如何启动对新控制器的推送?尝试使用 NSLog(@"Hello");以确保它被正确调用。
除此之外,问题可能是故事板没有与 self.storyboard 一起返回。您可以随时尝试
UIStoryboard *appStoryboard = [UIStoryboard storyboardWithName:@"YOUR_STORYBOARD_NAME_HERE" bundle:nil];
然后使用
view3 *controller = [appStoryboard instantiateViewControllerWithIdentifier:@"view3"];
【讨论】:
没有错误,什么也没发生,view3 没有加载。如果我不是以编程方式而是通过情节提要使用 Push,模拟器会崩溃。 这似乎是一个非常简单的设置,这里没有太多错误。您应该在问题中提供更多信息、代码、故事板图片以上是关于在 Modal 之后推送 UIView的主要内容,如果未能解决你的问题,请参考以下文章
UIView 需要推送一个 UIViewController(委托)