2015-10-15 9 views
6

私のストーリーボードにセグを表示(プッシュなど)して、ViewControllerとナビゲーションコントローラを接続したいとします。次に、ビューコントローラー上のナビゲーションバーが正しく表示されます。 例:ショーの詳細または現在のモダリティでは、ナビゲーションバーが消えますセグのアニメーションを無効にする

しかし、私はセグエーのアニメーションをしたくありません。 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) 

これは、アニメーションなしでセグを実行します。

+0

これは私にとってはうまくいくようです。 – codeDude

+0

聞いてうれしいですが、あなたが望むように動作する場合は、受け入れられたことを忘れないでください:) – Arbitur

+0

はい、私はそうですが、1つの質問:U後に有効にしてください:UIView.setAnimationsEnabled(true)たとえばIBActionでパフォーマンスを引き出す? – codeDude

3

私はこのスレッドでスウィフトの答えを使用して、カスタムセグエを作った:
だから、 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で、カスタムSeguesの属性インスペクタで、私がチェックしています「Animates」ボックス(YES)をクリックします。今すぐ警告が消えてしまったので、私は自分の質問に答えています。

耐久性のあるソリューションであるかどうかはまだわかりません。その後、

-3

Main.Storyboardでセグエ矢印をクリックし、:

enter image description here

Animates

+0

私は知っていますが、警告: "segueアニメーションを無効にすることはiOS 9.0以前では利用できません" – codeDude

+0

@codeDudeはい、廃止予定です。 )正常です;) –

+0

O.o 私にとってはうまくいきました。私の展開ターゲットはiOS 9.0なので、警告は全くありませんでした。しかし、廃止されましたか?私はそれについての警告を期待した。 –

関連する問題