2011-10-21 132 views
20

我想实现一个按钮来显示另一个视图。我已经在故事板中定义了目标ViewController &创建了一个segue(类型为push)并给它一个标识符。如何执行segue

在我的根视图控制器

一些方法...

 UIButton *btn = [UIButton buttonWithType:UIButtonTypeDetailDisclosure]; 
     [btn addTarget:self action:@selector(showDetailView:) forControlEvents:UIControlEventTouchUpInside]; 

- (IBAction)showDetailView:(id)sender { 
    [self performSegueWithIdentifier:@"ShowDetail" sender:sender]; 
} 

但它不会做任何事情。我听说Segue是一个对象。我是否需要参考它/在我的根视图控制器类中进行综合?任何提示将不胜感激。谢谢。

回答

30

编辑:
确保您的根视图控制器嵌入在导航控制器中。如果不是,请在故事板设计器中选择您的视图控制器,然后在菜单中选择编辑器 - >嵌入 - >导航控制器。

原文:
仔细检查标识符(故事板代码),并尝试设置senderself。如果这不起作用,你可以在代码中自己创建一个Segue对象。

+0

好的我试着将'sender'设置为'self',但没有奏效。我如何创建Segue对象? (或者参考我在Storyboard中创建的Segue?) – chizzle

+1

我需要添加导航栏/控制器还是需要遵守一些协议才能使用Segue? – chizzle

+6

你是否在导航控制器中嵌入了你的根视图控制器?..这是“推”的必要条件 - 工作.. –