【发布时间】:2010-12-23 08:17:58
【问题描述】:
似乎不是每次通过标签栏显示视图时都会调用viewDidAppear 方法。我已经尽可能多地搜索了这个问题,但还没有真正找到明确的答案。
对此有什么建议或解决方法吗?
【问题讨论】:
似乎不是每次通过标签栏显示视图时都会调用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方法。
【讨论】: