1

Interface Controllerアプリのライフサイクルのある時点で、プログラムでタイトルを変更しようとしています。

しかし、これはアプリの実行中は機能していないようです..?それは意図的なものですか、バグですか、それとも何か間違っていますか?

説明:

私が設定した方法は、ストーリーボードでaaというタイトルを付けることです。次に、awakeWithContext:で変数をチェックしますUser Defaults。これにより、 を設定する状態が決まりInterface Controllerます。タイトルをyyに変更する場合もあれば、2 つのセットアップ メソッド ( / ) のいずれかを呼び出してxxに変更する場合もあります。setUpForShowingsetUpForCreating

ある時点で、ユーザーがボタンを押すと、 が表示されますmodal view。そのビューが表示される直前に、逆のセットアップ メソッドを呼び出して、 の状態を変更しますInterface Controller。画面上のすべてが正しく変更されているため、正しいメソッドが呼び出されていることがわかります。ただし、タイトルは更新されません

誰かが似たようなことを経験したことがありますか?

4

1 に答える 1

2

ドキュメントには次のように記載されています。

インターフェイス コントローラは、初期化中およびインターフェイスがアクティブなときにのみ、そのインターフェイスを変更できます。didDeactivate メソッドが呼び出されると、関連するインターフェイス オブジェクトの値を変更しようとしても、インターフェイス コントローラーの willActivate メソッドが再度呼び出されるまで無視されます。

メソッドwillActivateを使用してタイトルを設定してみてください。setTitle:

于 2015-05-18T10:46:12.263 に答える