iOS 8 - UIBarButtonItem Push Segue覆盖动作

时间:2014-11-24 15:41:52

标签: ios objective-c cocoa-touch segue uibarbuttonitem

这个问题在iOS 8中似乎是新的,因为我在iOS 7中使用了这个设置,并且在我更新时它刚刚开始引起问题。

在Interface Builder中,如果我有一个UIBarButtonItem触发Show(Push)segue到另一个View Controller并且也连接到一个动作,则会发生segue但是从不调用该动作。如果我使用常规按钮尝试此操作,则会调用segue和action。当UIBarButtonItem位于导航栏和独立UIToolBar

时,会发生这种情况

有人可以解释为什么会发生这种情况/提供可能的解决办法吗?感谢

2 个答案:

答案 0 :(得分:2)

修复方法是创建手动segue并使用-(void)performSegueWithIdentifier: sender:

从您的操作中调用它

答案 1 :(得分:1)

我认为执行此操作的首选方法是在视图控制器中实现prepareForSegue:

override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
if (segue.identifier == "MySegueIdentifier") {
    // pass data to next view
}
}

其中“MySegueIdentifier”是故事板中segue的名称。