1

が表示されるたびに全ページ イメージ広告を表示したいUIViewControllerviewDidAppearまたは内でメソッドを呼び出す必要があると思いますViewWillAppearが、それらは一度呼び出されています。

- (void) viewDidAppear:(BOOL)animated{
    [self showAds];
}

- (void) showAds{
    //Do Something
}

uiviewcontroller が表示されるたびに (既に作成されている場合でも) メソッドを呼び出すにはどうすればよいですか?

4

3 に答える 3

4

ViewWillAppearが表示されるたびに呼び出されますUIViewControllerが、アプリがフォアグラウンドに戻ったときには呼び出されません。

于 2013-03-28T04:04:19.457 に答える
3

次のコードで通知を使用して目標を達成できます。このシナリオは、アプリがバックグラウンドにあり、ユーザーが HOME ボタンを押してアクティブにする場合に特に当てはまります。

アプリケーションが viewDidLoad のみで Forground に入るときに通知を登録します。

[[NSNotificationCenter defaultCenter] addObserver: self
                                         selector: @selector(handleEnteredBackground)
                                             name: UIApplicationDidBecomeActiveNotification
                                           object: nil];

アプリケーションが Forground に入るときに呼び出すメソッドを作成する

-(void)handleEnteredBackground
{
    NSLog(@"%s",__FUNCTION__);
    // Your stuff here
}

viewDidUnload メソッドでオブザーバーを削除することを忘れないでください

[[NSNotificationCenter defaultCenter] removeObserver:self];

アプリケーションがForgroundに入るたびに新しい通知を投稿する

- (void)applicationWillEnterForeground:(UIApplication *)application
{

    [[NSNotificationCenter defaultCenter] postNotificationName:UIApplicationDidBecomeActiveNotification object:nil];
}
于 2013-03-28T04:37:35.327 に答える
1

ViewWillAppear は毎回呼び出す必要があります。使用する:

- (void) viewWillAppear:(BOOL)animated{
    [self showAds];
}
于 2013-03-28T03:46:25.110 に答える