2015-10-15 64 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,根本沒有警告。但是,它是否被棄用?我預計會發出警告。 –