dismissModalViewControllerAnimatedが消えたことを検出する独自のメカニズムを実装する方法はありますか?viewdiddisappearを試しましたが、サブビューがビューから削除されたときにのみ呼び出されると思うので、これは呼び出されていません。モーダルの場合、iOSはそれらを異なる方法で処理すると思います。
何か案は?
このモーダルビューが却下された後、代理人に何らかのアクションを実行してもらいたいと思います。
ありがとう。
dismissModalViewControllerAnimatedが消えたことを検出する独自のメカニズムを実装する方法はありますか?viewdiddisappearを試しましたが、サブビューがビューから削除されたときにのみ呼び出されると思うので、これは呼び出されていません。モーダルの場合、iOSはそれらを異なる方法で処理すると思います。
何か案は?
このモーダルビューが却下された後、代理人に何らかのアクションを実行してもらいたいと思います。
ありがとう。
ビューコントローラを閉じる前に、NSNotificationCenterを使用して通知を投稿します。他のViewControllerをオブザーバーとして追加します。これは、イベントをブロードキャストする簡単な方法です。
したがって、却下する前に:
[[NSNotificationCenter defaultCenter] postNotificationName:@"DismissModalViewController"
object:nil];
[self dismissModalViewControllerAnimated:YES];
そして、ViewControllerで
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(yourCallback)
name:@"DismissModalViewController"
object:nil];
コールバックは次のようになります。
- (void) yourCallback
{
// some code to run when modal view controller is dismissed
}
直前に呼び出されるデリゲートメソッドを追加しますdismissModalViewController
親ViewControllerのを使用できますviewWillAppear
。親ビューコントローラとは、presentViewController
(またはpresentModalViewController
)の受信者を意味します
問題を見つけました。
この呼び出しを行ったViewControllerで、代理人を設定するのを忘れました。