故事板 - viewcontroller中的导航控制器

时间:2012-07-10 18:24:29

标签: ios uinavigationcontroller storyboard

我是故事板的新手,在我的故事板上,我在视图控制器上有一个按钮。点击按钮我试图添加导航控制器视图作为子视图,它正在添加,但当我尝试使用导航控制器推动应用程序崩溃。请帮我解决这个问题。我已上传源代码,请从以下网址下载

http://www.darrr.com/skyparts/test.zip

1 个答案:

答案 0 :(得分:1)

故事板的巨大优势在于可以在Interface Builder中完成大量工作。因此,要使代码工作,您应该做下一步:

  1. 打开故事板并进行以下更改:
    1. 单击“viewCtrl”按钮上的右键,然后在弹出菜单中删除对方法-(IBAction)bttnTapped:(id)sender的引用。不要在按钮触摸上调用动作方法,而是应该通过ctrl-从“viewCtrl”按钮拖动到导航控制器并选择“模态”类型的segue来添加segue。
    2. 选择“导航控制器”并打开“属性”检查器。然后在“顶栏”栏中选择导航栏。
    3. 在“Ctrl1”视图中,单击“ctrl1”按钮上的右键,然后在弹出菜单中删除对方法-(IBAction)bttnTapped:(id)sender的引用。
    4. 将View Controller从对象库添加到故事板。然后在Identity检查器的“类”字段中键入“ctrl2”。然后按住Ctrl键从“ctrl1”按钮拖动到“Ctrl2”控制器视图并选择“推”类型的segue。
  2. Interface Builder中的故事板视图应如下所示: storyboard view

    2.转到ViewController.h和.m并删除方法- (IBAction)bttnTapped:(id)sender

    3.转到ctrl1.h和.m并删除方法- (IBAction)bttnTapped:(id)sender

    代码应该有效。但我建议将方法- (void)viewDidLoad- (void)viewDidUnload放回ctrl1.m。

    如果您想在触摸按钮时运行某些代码,但在加载视图之前,您应该覆盖方法- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender