2012-03-28 114 views
3

我是新来的目标C,我一直在尝试使用从一个视图控制器到另一个按钮的Segue。我希望为segue使用推式,第一个视图控制器嵌入在导航视图控制器中。下面是第一个视图控制器的.m和.h文件。如何通过按钮从一个视图控制器推到另一个视图控制器?

firstViewController.m

@implementation 

**(am I supposed to have an IBAction here for the pressed button?)** 

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { 

    if ([segue.identifier isEqualToString:@"firstSegue"]) { 

    **(I don't know what to put here)**  

    } 
} 
@end 

firstViewController.h

@interface firstViewController : UIViewController 



@end 

回答

5

如果您已经从按钮有线了按钮本身的赛格瑞(CTRL +拖动到第二视图控制器在界面生成器中),那么你将不需要IBAction。只要您的视图控制器与导航控制器正确关联,只需以这种方式连接Segue就足以完成从第一个视图控制器到第二个视图控制器的推动动画 - 您不必编写任何代码所有。

prepareForSegue方法的目的是向目标视图控制器传递数据,设置委托等等。如果没有数据传递给第二个视图控制器,或者没有任何要配置的控制器,那么你不会不需要执行prepareForSegue。您可以在线搜索Storyboard Segue委托等术语,以找到一些关于使用prepareForSegue和其他故事板功能来管理视图控制器之间转换的一些最佳实践的tutrorials like this

+0

我试着做你所建议的。所以,我做了一个名为firstViewController的视图控制器。在将新视图控制器(第二视图控制器)拖动到故事板后,我创建了一个新文件,一个名为secondViewController的目标C类,类型为UIViewController。然后我将这个视图控制器的类名称标识为secondViewController。设置完这些视图控制器之后,我将firstViewController中的按钮连接到secondViewController。最后,我点击了第一个控制器并嵌入了导航视图控制器。 编译器成功运行的是, – Hans 2012-03-28 03:26:47

+0

我得到这一行强调这是从main.m文件 “返回UIApplicationMain(ARGC,ARGV,零,NSStringFromClass([DiscountWalletAppDelegate类]));” 随着该突出显示是一个标记,它说:“线程1:信号SIGABRT”。这是什么意思? – Hans 2012-03-28 03:27:29

+0

在我点击模拟器上的按钮后显示出来。 – Hans 2012-03-28 03:31:37

相关问题