【iOSメモ】iOS9でUnwindSegueが動作しない

iOS8では問題なかったUnwindSegueが、iOS9へアップデートしたデバイス上では動作しなくなった。

参考リンク先によると、Custom UnwindSegueを使用するためにCustom Container ViewController(UINavigationControllerのサブクラス)でオーバーライドしている以下のメソッドが問題らしい。

ただし、このメソッドはiOS9からDeprecatedされてる。

そして新たに登場するのが、

なぜかこのメソッドは現時点ではドキュメントに記載されていない。

詳細は参考リンク先に任せるが、iOS8以前とiOS9以降両方の環境に対応するためには、これらのメソッドを混在させないといけない。
結局リンク先の記事を参考にいろいろ弄ってみて落ち着いたのが以下のコード。

とにかくiOS9では、unwindForSegue:towardsViewController: を呼んでやることが重要らしい。

だがいろいろ試してる途中で、pushとmodalで動作が異なっていたり、headerコメント通りの結果にならなかったり、怪しい動作がちらほらと。

そもそもDeprecatedされたメソッド使ってるので、将来のOSバージョンアップで動作かわる可能性はあるので、気に留めておかないといけない。

面倒くさい。

参考

Custom Unwind Segue for iOS 8 and iOS 9

 

 


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です