iOS 6 で、いつUIStoryboardSegue
移行が完了したかを知ることは可能ですか? UIStoryboardSegue
from UIButton
を追加して、navigationcontroller に別のプッシュを追加する場合と同様にUIViewController
、プッシュ遷移が終了した直後に何かを実行したいと考えています。
質問する
21366 次
5 に答える
20
プロトコルを使用してUINavigationControllerDelegate
、次を定義できます。
– navigationController:didShowViewController:animated:
于 2013-08-19T09:54:48.113 に答える
8
Swift では、示されているように、UIViewController
サブクラスからUINavigationController
インスタンスを取得し、デリゲートを設定して、セグエの完了について通知を受けることができます。セグエを追跡するもう 1 つの論理的な場所は、AppDelegate
.
ビュー コントローラー (略して VC) から実行する例:
class MyViewControllerSubclass : UIViewController, UINavigationControllerDelegate {
func viewDidLoad() {
self.navigationController.delegate = self
}
func navigationController(navigationController: UINavigationController, didShowViewController viewController: UIViewController, animated: Bool) {
println("Did show VC: \(viewController)")
}
}
ただし、VC へのセグエが完了した場合にのみ表示されます。これは、提示されている VC のメソッドをデリゲートviewWillAppear()
またはデリゲートする場合と同様です。viewDidAppear()
ただし、ターゲット VC が提供されていない場合は通知されません。また、View Controller が Navigation Controller スタックの一部である場合にのみ機能します。
追跡している VC で、次を追加して、VC (およびそのメモリ) の割り当てが解除されたことを検出するか、viewWillDisappear()
メソッドをオーバーライドできます。
deinit {
println(__FUNCTION__, "\(self)")
}
于 2015-01-28T15:30:43.180 に答える