10

タブバーには4つのビューコントローラーがあり、一方で発生したことが他方のビューに影響を与える可能性があるため、ビューコントローラーが表示されたときにいくつかの要素をリロードする必要がある場合があります。通常はviewWillAppearを実装することで修正しますが、タブを切り替えると、viewWillAppearが呼び出されないようです。どうすれば修正できますか、または代わりに何をすべきですか?

更新:PSとして、これはナビゲーションコントローラー階層のタブバーコントローラーであることを追加する必要があります

乾杯

ニック

4

4 に答える 4

10

タブバーコントローラーデリゲートを使用して、チャームのように機能させることができます

-(void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{{
    [viewController viewWillAppear:YES];

}
于 2012-06-13T11:11:57.757 に答える
1

ここで私の答えを見てください

iPhoneviewWillAppearが起動しない

于 2011-07-26T17:08:32.547 に答える
1

また、OPの質問のように、の質問ではUITabBarControllerなく、それ自体で何かを更新したいためにこの質問を見つけた場合。たとえば、カスタムを非表示または表示します。Swift 3.0では、クラスのオーバーライドが機能しました。UIViewControllersUITabBarControllerUITabBarButtonsetNeedsStatusBarAppearanceUpdateUITabBarController

override func setNeedsStatusBarAppearanceUpdate() {

}
于 2017-05-28T02:49:33.033 に答える
-1

viewWillAppearビューが表示されたときにのみ使用し、更新には使用しないでください。

代わりsetNeedsDisplayに、のビューで使用してください。viewController

于 2010-07-17T15:52:49.243 に答える