【发布时间】:2015-11-02 03:02:37
【问题描述】:
我一整天都遇到同样的错误,我知道这是说故事板中没有识别出segue,但确实如此。以下是我认为相关的代码: 1.IBAction 用于向 segue 发出信号的按钮。
-(IBAction)launchScanner:(id)sender{
NSLog(@"launch Scanner pressed");
[self performSegueWithIdentifier:@"launchScanner" sender:self];
}
-
这是为 segue 准备的功能,我暂时将其留空,不确定是否需要在其中包含一些内容。
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{ if([[segue identifier] isEqualToString:@"launchScanner"]){ } } -
我最初以编程方式制作了所有内容,这是我实例化导航控制器的方式(在 appdelegate.m 中):
ViewController *myViewController = [[ViewController alloc] init]; UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:myViewController]; _window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; _window.rootViewController = navigationController; [_window makeKeyAndVisible]; - 这里还有我的故事板设置的图片和证明segue被识别的证据Image 1Image 2
【问题讨论】:
-
如果您不是从情节提要创建视图控制器,那么它不会与场景关联,因此也不会与任何转场关联。
-
另外,只是以模态方式实例化视图一直工作得很好,问题只是当我尝试使用导航控制器进行推送时。
-
所以我应该从情节提要实例化初始视图控制器或目标视图控制器,还是两者都实例化?我会在哪里做呢?应用程序委托中的第一个,然后是为 segue 做准备的目标视图控制器?还是在 IBAction 方法本身?
-
在我看来,如果你打算使用故事板,你不妨从故事板做所有事情。只需将导航控制器设置为您的初始场景并从 AppDelegate 中删除代码。
-
如果没有更多信息,我无法为您提供帮助 - 您的故事板中的场景是空白的!
标签: ios objective-c iphone uiviewcontroller segue