无法实例化新控制器

时间:2012-02-22 00:48:46

标签: ios xcode

我想在验证登录用户名/密码时加载新的ViewController / View。我有以下内容:

-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
...
...
ViewController *Workflow = [self.storyboard     instantiateViewControllerWithIdentifier:@"Workflow"]; 
        [self.navigationController pushViewController:Workflow animated:YES];

然后,在故事板上,我添加了一个新的视图控制器并在那里打了一个新的uiview。然后我将ViewController的标识符更改为“Workflow”。但是,单击此按钮后,没有任何反应。有任何想法吗?

2 个答案:

答案 0 :(得分:0)

我首先NSLog按钮的索引向您发送操作,它对于长警报非常有用,并且使用switch语句委托方法。如果什么也没发生,那么通常什么也没做。

答案 1 :(得分:0)

听起来你可能错过了故事板中的UINavigationController。除非您的视图控制器位于UINavigationController中,否则pushViewController:将无效。

如果是这种情况,您需要做的是:

  • 将UINavigationController的实例从对象库拖到故事板上。删除随附的根视图控制器。
  • 在故事板上选择导航控制器后,单击“属性”检查器上名为“是初始视图控制器”的复选框。
  • 按住键盘上的Control键并用鼠标从导航控制器拖动到第一个视图控制器(可能是显示警报视图的控制器)以创建一个segue。在发布后出现的Storyboard Segues框中,选择“Relationship - Root View Controller”