2

ユーザーがアプリをフォアグラウンドに持ってきたときに、アプリに再度 viewDidAppear を呼び出してもらいたいです。

- (void)appReturnsActive{

    //THIS IS THE BIT THAT DOESNT WORK, BUT [self.viewDidLoad] DOES WORK
    [self.viewDidAppear];
}

このようにviewDidAppearメソッドでappReturnsActiveを作成しています。それはうまくいきます:

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

self.viewDidLoad はできますが、viewDidAppear を選択できません。これを機能させる方法を知っている人はいますか?

ありがとうございました!!

4

4 に答える 4

7

あなたは単にそれを間違って呼んでいます。そのはず

[self viewDidAppear:YES];

ただし、これまたは viewDidLoad、viewWillAppear などを呼び出してはいけません。実行したいコードをviewDidAppear:(BOOL)別のメソッドに入れて、そのメソッドを呼び出します。

それが役に立てば幸い!

于 2013-03-01T08:00:42.553 に答える
3

または試しました[self viewDidAppear:YES][self viewDidAppear:NO]

于 2013-03-01T08:00:40.533 に答える
0

このメソッドviewDidAppear:は、ビューが表示されるたびに自動的に呼び出されます。自分で呼び出す必要はありません。このメソッドに他の場所から実行する必要があるコードがある場合は、それらの命令を含む新しいメソッドを追加することをお勧めします。viewDidAppear:また、パフォーマンスに悪影響を与える可能性のあるビュー関連の操作も実行します。すべての方法で、それを呼び出す必要がある場合は、BOOLパラメーターがありません。ドキュメントを参照してください。

于 2013-03-01T08:06:06.157 に答える