ビューがタブバーを介して表示されるたびに、viewDidAppear
メソッドが呼び出されるようには見えません。私はこの問題について可能な限り検索しましたが、決定的な答えは実際には見つかりませんでした。
これに対する提案や回避策はありますか?
タブバーコントローラーで正しく機能するためviewWillAppear
にviewDidAppear
は、タブバーコントローラー自体を表示するときにこれらのメソッドを必ず呼び出す必要があります。つまり、プログラムで作成する場合は、UITabBarController
必ずこれらのメソッドを呼び出してください。
UITabBarController *myTabBarController = [[UITabBarController alloc] init];
[myTabBarController setViewControllers:myViewControllerArray];
[myTabBarController viewWillAppear:NO];
[[self view] addSubview:[myTabBarController view]];
[myTabBarController viewDidAppear:NO];
タブバーコントローラーがNIBファイルで作成されている場合、これは適用されません。その場合、viewDidAppear
メソッドが自動的に呼び出されない理由がわかりません。
私は個人的にこのviewWillAppear:(BOOL)animated
方法を使用しています。