-1

こんにちは私はStackOverflowを初めて使用するので、間違いをお詫びします。前のビューに移動するたびに、コントロールを前のビューに移動するにはどうすればよいviewDidLoadですか?私のアプリケーションでは、前のビューにポップしますが、前のビューをリロードしたいので、移動したいと思いviewDidLoadます。よろしくお願いします。私は次のコードを使用しました。

[self.navigationController popViewController:myViewController animated:YES];
4

3 に答える 3

2

私の知る限り、それはできません。ただし、ビューに戻ると、コードviewWillAppearが実行されます (基本的に、名前が示すように、ビューが表示されるたびにコードが実行されます)。

提案: コードviewDidLoadを 2 つの部分に分割します。

  1. 1 回だけ実行する必要があるコードの 1 つのチャンク - そこに残しておく必要があります
  2. ビューが表示されるたびに実行するコードの 2 番目のチャンク。これを移動します。viewWillAppear

お役に立てれば !

于 2012-05-30T05:00:02.957 に答える
1

ビューをポップして前のビューに戻るとand、View Controller の「viewWillAppear viewDidAppear」メソッドが呼び出されます。

以下は呼び出し階層です -

viewDidLoad- このメソッドは、View Controller がそのビュー階層をメモリにロードした後に呼び出されます。

viewWillAppear- このメソッドは、受信者のビューがビュー階層に追加される前に呼び出されます。

viewDidAppear- ビューがビュー階層に追加されたことをビュー コントローラーに通知します。

これらのビュー コントローラーのライフ サイクル メソッドの詳細については、UIViewController クラスのリファレンスを確認してください

したがって、要件に基づいて、一度だけロードするすべての UIElementを決定する必要がありviewDidLoadます。viewWillAppearviewDidAppear

于 2012-05-30T04:58:49.437 に答える
1

あなたは私たちのトリックを行うことができます。

  1. メソッドを作成し、ビューからすべてのコードを貼り付けて、このメソッドにロードしました。

  2. view did load からそのメソッドを呼び出します。

  3. ビューからそのメソッドを呼び出しますが表示されます。

これを呼び出してビューをロードすることはできませんが、ビューからこれをすべて実行すると、ビューがロードされたように表示されます

ありがとう

于 2014-04-03T05:44:23.240 に答える