2

似乎并非每次通过选项卡栏呈现视图时viewDidAppear都会调用该方法。我已经尽可能多地搜索了这个问题,但还没有真正找到明确的答案。

对此有什么建议或解决方法吗?

4

2 回答 2

2

为了在标签栏控制器viewWillAppearviewDidAppear正常运行,您需要确保在显示标签栏控制器本身时调用这些方法。也就是说,如果您以UITabBarController编程方式创建,请务必调用这些方法:

UITabBarController *myTabBarController = [[UITabBarController alloc] init];
[myTabBarController setViewControllers:myViewControllerArray];
[myTabBarController viewWillAppear:NO];
[[self view] addSubview:[myTabBarController view]];
[myTabBarController viewDidAppear:NO];

如果您的选项卡栏控制器是在 NIB 文件中创建的,则这不适用 - 在这种情况下,我不确定为什么viewDidAppear不会自动调用您的方法。

于 2009-12-04T18:05:34.010 回答
0

我个人使用的viewWillAppear:(BOOL)animated方法。

于 2009-12-04T17:59:14.940 回答