( ホーム画面に戻る) UIViewControllerビューがバックグラウンドで表示されたときを知るには?
- iOS4.2/iPhone4ので
- 選択 から前に立ち上げたアプリ選択
今、私は私のアプリを見ることができますデリゲートは最後のステップの後で選択されたときに "applicationDidBecomeActive"というメッセージを受け取りますが、viewController(現在ビューが表示されている人)はどのように知っていますか?
viewDidLoadがすでに呼び出されているため、再度呼び出されることはありません。 viewWillLoadは再び呼び出されません。
理解できないようです。理由は私は設定の変更が行われたかどうかを確認したいと思っているのですが、View Controllerでそのようにしたいのですが、それは気にすることです。これは、画面上で見られているのViewControllerを取得
- (void)applicationDidBecomeActive:(UIApplication *)application
{
UINavigationController *navc = (UINavigationController *)[tabBarController selectedViewController];
UIViewController *topvc = [navc topViewController];
if ([topvc respondsToSelector:@selector(viewControllerDidBecomeActive)])
{
[topvc performSelector:@selector(viewControllerDidBecomeActive)];
}
}
:あなたの中に
そういう作品ですが、私が探していたものではありません。私のビューの階層はもう少し複雑なので、あなたの投稿されたコードはそのままでは動作しませんが、私はそのアイデアを得て、私はそうすることができます。だから間違いなく一つの方法です。私は何かを見逃していたと思っていて、ビューコントローラの階層に関係なく、より単純な方法がありました。 – Fraggle
数年後、現在AFAICSはNSNotificationCenterを使用することをお勧めします。 –