【swift】dismissControllerしたあとすぐpresentedViewControllerしたい!

yamagenii 29views 更新:2016年8月4日

viewControllerで、今の表示を消して、すぐに違う画面に遷移したい時など

dismissController
presentedViewController

と書きますがこれが上手くいったり行かなかったりします。

早すぎて今のviewが変わったりして、どのviewにpresentするのか分からないパターンと考えられるので遅延処理で遅延して非同期実行するとでうまくいきます。

dismissController
//0.5秒遅延
let delay = 0.5 * Double(NSEC_PER_SEC)
let time  = dispatch_time(DISPATCH_TIME_NOW, Int64(delay))
dispatch_after(time, dispatch_get_main_queue(), {
    presentedViewController
})

遅すぎてもダメなので、ユーザが不快にならない範囲で遅延しましょう

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません