Xcode, swift セグエなどのアニメーションを一時的に無効化する方法
こんにちわ。エンジニアの横田です。
iOSアプリでshowセグエ、presentセグエなどでの画面遷移時のデフォルトのアニメーションはありますが、これを無効化したい場合もあります。
XcodeにはAnimatesというチェックボックスはありますが、どうもこれはiOS9以降の機能のようで9未満のOSにも対応しようとしたら、その他の方法が必要なようです。
スマートなやり方ではないかもしれないですが、セグエも含めてUIView.setAnimationsEnabled(false)でアニメーションを無効化することができます。
UIView.setAnimationsEnabled(false) //〜〜〜〜〜〜〜 //この間のアニメーションは無効化されます。 //〜〜〜〜〜〜〜 UIView.setAnimationsEnabled(true)
セグエのアニメーションを見せないようにする場合は、UIView.setAnimationsEnabled(true)を呼び出す箇所は、遷移先のUIViewControllerのviewDidAppearの中に書くといいようです。