2015-10-15 55 views
6

我想要在我的故事板中显示(例如推)segues,以连接我的viewcontrollers和我的导航控制器。然后,视图控制器上的导航栏将正确显示。 例如:随着显示细节或模态存在,导航栏将消失禁用segue动画

但我不希望赛格动画。 Xcode是给予警告,如:“禁用赛格瑞动画之前尚未提供到iOS 9.0”

我想的iOS 7.0的部署目标或8.0

我怎样才能解决这个问题?

在此先感谢。

+0

看到此链接可能是帮助你http://stackoverflow.com/questions/32890470/xcode -ignore-storyboard-warning –

回答

13

您可以在执行segue之前以及在再次启用之后禁用动画。

UIView.setAnimationsEnabled(false) 
self.performSegueWithIdentifier("next", sender: nil) 
UIView.setAnimationsEnabled(true) 

这将执行没有动画的segue。

+0

这似乎适用于我。 – codeDude

+0

很高兴听到,不要忘记标记接受,如果它按照你想要的方式工作:) – Arbitur

+0

是的,我会,但一个问题:你说'启用后':你是否意味着你把UIView.setAnimationsEnabled(真)直接执行例如IBAction? – codeDude

3

我做了一个自定义的SEGUE,使用此线程雨燕答案:
Push segue in xcode with no animation

所以:

class ShowNoAnimationSegue: UIStoryboardSegue { 

    override func perform() { 
     let source = sourceViewController as UIViewController 
     if let navigation = source.navigationController { 
      navigation.pushViewController(destinationViewController as UIViewController, animated: false) 
     } 
    } 
} 

而且在Xcode,在属性自定义塞格斯督察,我检查'动画'框(YES)。现在警告已经消失,所以我正在回答我自己的问题。

如果是持久的解决方案,我还不确定。

-3

点击在Main.Storyboard赛格瑞箭头,然后:

enter image description here

退房Animates

+0

我知道,但是这给出了警告:“禁用segue动画在iOS 9.0之前不可用” – codeDude

+0

@codeDude yes,它是不赞成的方法。这是正常的;) –

+0

O.o 它为我工作,因为我的部署目标是iOS 9.0,根本没有警告。但是,它是否被弃用?我预计会发出警告。 –