似乎每次通过标签栏显示视图时都会调用viewDidAppear
方法。我在这个问题上尽可能多地搜索,但还没有找到明确的答案。
对此有任何建议或解决方法吗?
答案 0 :(得分:2)
为了使viewWillAppear
和viewDidAppear
在标签栏控制器中正常运行,您需要确保在显示标签栏控制器本身时调用这些方法。也就是说,如果您以编程方式创建UITabBarController
,请务必调用这些方法:
UITabBarController *myTabBarController = [[UITabBarController alloc] init];
[myTabBarController setViewControllers:myViewControllerArray];
[myTabBarController viewWillAppear:NO];
[[self view] addSubview:[myTabBarController view]];
[myTabBarController viewDidAppear:NO];
如果您的标签栏控制器是在NIB文件中创建的,则不适用 - 在这种情况下,我不确定为什么不会自动调用viewDidAppear
方法。
答案 1 :(得分:0)
我个人使用viewWillAppear:(BOOL)animated
方法。