Ios segues是否仅适用于导航控制器?
我曾尝试使用故事板从一个ViewController切换到另一个ViewController,但它引发了一个异常Ios segues是否仅适用于导航控制器?,ios,uinavigationcontroller,storyboard,Ios,Uinavigationcontroller,Storyboard,我曾尝试使用故事板从一个ViewController切换到另一个ViewController,但它引发了一个异常 segues是否仅适用于NavigationController?当我尝试这种方法时,它起了作用。如果您将您的ViewController嵌入到UINavigationController中,使用从ViewControllerA到ViewControllerB的情节提要: - (void)prepareForSegue:(UIStoryboardSegue *)segue sende
segues是否仅适用于NavigationController?当我尝试这种方法时,它起了作用。如果您将您的ViewController嵌入到
UINavigationController
中,使用从ViewControllerA
到ViewControllerB
的情节提要:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"showDetail"])
{
UINavigationController *navController = (UINavigationController *)segue.destinationViewController;
ViewControllerB *viewControllerB = (ViewControllerB *)navController.topViewController;
// Pass data (for example a NSString object)
viewControllerB.aString = myString;
}
}
如果从一个
ViewController
到另一个ViewController
创建了一个Segue,那么您需要以编程方式执行它,因为只有视图等可视元素可以响应用户事件,因此没有用户交互,ViewController
就无法知道何时执行Segue
下面是如何以编程方式完成的
在界面生成器中设置Segue
标识符
调用[self-PerformsgueWithIdentifier:@“MySegueIdentifier”发送方:nil]代码>响应事件,即按钮的触碰内部执行该操作
这篇文章有更多的信息:
注意:如果您没有使用NavigationController
,则不能使用PushSegue
转换,因为这需要NavigationController
。如果您想创建自己的转换,您仍然可以使用Modal
转换类型或Custom
。什么例外??可能是你使用seague的方式不对。检查标识符是否与storybard中指定的匹配。