【问题标题】:How to override the UIBarButtonItem triggered segue defined in a storyboard如何覆盖故事板中定义的 UIBarButtonItem 触发的 segue
【发布时间】:2012-08-26 15:19:23
【问题描述】:

我在故事板 iPhone 应用程序中有一个 UIViewController,我需要在多个地方重用它。在情节提要中,有一个 UIBarButtonItem 触发了另一个控制器的 segue。但是,在某些情况下,我想覆盖按钮的行为以连接到不同的视图控制器。我在想必须有一种方法可以使用指定目标视图控制器的消息来初始化视图控制器,或者在控制器初始化之后但在它被推送之前设置一些属性?

一个挑战似乎是无法以编程方式定义转场(根据我目前所读的内容),而且我认为我不能在情节提要的同一个视图控制器上拥有多个转场。所以我可能需要做这样的事情:

[self presentModalViewController:myNewVC animated:YES];

...而不是使用segue,但我不确定如何覆盖故事板中定义的按钮的行为以做到这一点。

感谢任何帮助。

【问题讨论】:

    标签: objective-c ios uistoryboard


    【解决方案1】:

    只需为某些条件创建一个IBAction 和一个BOOL 来选择应该实例化哪个视图控制器。

     UIViewController *viewController;
        if (someCondition) {
            viewController = [self.storyboard instantiateViewControllerWithIdentifier:@"someViewID"];
        }else{
            viewController = [self.storyboard instantiateViewControllerWithIdentifier:@"someOtherID"];
        }
        [self presentViewController:viewController animated:YES completion:nil];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-29
      • 1970-01-01
      • 1970-01-01
      • 2012-05-16
      • 1970-01-01
      • 1970-01-01
      • 2014-01-11
      • 1970-01-01
      相关资源
      最近更新 更多