私はタブバーコントローラを持っており、タブの1つは私のホームスクリーンで、もう1つは設定ページです。設定ページでは、ユーザーはNSUserDefaultsに保存されたものを編集できますが、ホームタブに戻ると、ビューが既にロードされているため、これらの変更はすぐには反映されません。そのタブに戻ったときにビューを完全に更新するにはどうすればよいですか?タブがクリックされたときの自動リフレッシュビュー
0
A
答えて
0
viewDidLoadは、ビューコントローラのビューが最初にロードされたときにのみ呼び出されます。そのビューの後にはメモリ内に残るため、一般的にビューコントローラの別のインスタンスを作成するまで再び呼び出されません。
したがって、書いたかもしれないviewDidLoad()のロジックを書き込むのではなく、viewWillAppear()にコードを書いたり書き込んだりすると、ビューが現れたときにこのメソッドが呼び出されます。ここでNSUserDefaultsの値に既存の値を上書きする新しい値が設定されます。
//希望は私はそれはあなたがビューをリフレッシュしたいときに依存します:)
0
コーディングハッピー、何とかあなたを助けることができました。
1.表示が開かれるたびに更新しますか? 2.設定が変更されたときにのみビューを更新しますか?
最初の場合は、viewWillAppearにリフレッシュロジックを書きます 2番目の場合は、代わりにユーザー設定が変更されたときに通知を追加できます。 HomeVCで
オブザーバーとしてその通知を追加し、通知投稿するためその観測方法
コードのラベルを更新します。HomeVC ViewWillAppearで
:通知を受信するための
[[NSNotificationCenter defaultCenter] postNotificationName:@"settingsChanged" object:nil];
コード:
[[NSNotificationCenter defaultCenter] removeObserver:self];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(refreshViews:) name:@"settingsChanged" object:nil];
met hod on HomeVC
- (void)refreshViews:(NSNotification *)notification {
NSLog(@"Received Notification - Someone seems to have logged in");
}
関連する問題
- 1. 自動的にクリックするだけで自動的にクリックされますが、最初の手動でクリックした後に自動クリックがトリガーされます
- 2. タブがクリックされたときにリスナーをクリックします - angular2とngブートストラップ
- 3. ブートストラップアコーディオン:別のものがクリックされたときに自動折りたたみが行われない
- 4. スクリプトで自動フォーカスされたボタンをクリックできません
- 5. タブをクリックしたときにポケットベルのフラグメントが表示されませんか?
- 6. ボタンをクリックしたときにタブのアクティビティが開始されない問題
- 7. ボタンがクリックされたときにJavaScriptが起動しない
- 8. ボタンがクリックされたときのUmbrellaException
- 9. jQuery - タブがクリックされたときに画像を変更する
- 10. タブが2回クリックされたときにStackNavigatorをナビゲートする方法は?
- 11. ブラウザの動作をスクリプト化する - 自動化されたクリック
- 12. XAMLトリガーMaxLengthに達したときの自動タブ
- 13. ListViewItemがクリックされたときに新しいアクティビティに移動
- 14. タブの変更時に自動回転が無視される
- 15. ボタンがクリックされたときにスワイプカード
- 16. アダプタークラスのリフレッシュビュー
- 17. MaxLengthに達したときに自動タブをトリガーする(asp:TextBox)?
- 18. アコーディオンスライダーが閉じない前のタブをクリックしたとき他のタブ
- 19. 固定されたタブを自動的に有効にする
- 20. 新しいタブがクリックされたときにネストされたJqueryアコーディオンメニューを閉じるようにします。
- 21. QWebViewの自動タブ
- 22. 別のタブをクリックするとフォアグラウンド以外のタブが作成される
- 23. ボタンがクリックされると自動で表示されます - Chrome/Tampermonkey
- 24. タイトルストリップではなく、自動的に次のタブにスクロールスワイプジェスチャー自動的1回のスワイプで次のタブに移動しない選択されたタブを示し
- 25. クリックしたときにブートストラップのタブが機能しない
- 26. Jqueryスクロール可能なアイテムは、ナビゲーションがクリックされたときに自動再生を停止できません。
- 27. ボタンをクリックしたときの自動Bluetoothペアリング
- 28. クリックするとタブのコードが置換されます
- 29. ボタンがクリックされたときモーダルが表示されない
- 30. jQueryアコーディオン、クリックされたタブが上にスクロール開始されました。
データがテーブルビューまたはコレクションビューに表示されている場合は、コントローラのViewWillAppearメソッドでいずれかをリロードすることができます。 –
@TusharSharmaデータはラベルで表示されます。タブがクリックされるたびにViewWillAppearが実行されますか? –
ViewWillAppearは、ビューが表示されるたびに呼び出されます。 –