viewWillAppear 在 4.3 中没有从 UITabBarController 启动,但在 5.0 中可以正常工作
Posted
技术标签:
【中文标题】viewWillAppear 在 4.3 中没有从 UITabBarController 启动,但在 5.0 中可以正常工作【英文标题】:viewWillAppear not fired up from UITabBarController in 4.3 but works fine in 5.0 【发布时间】:2012-01-19 22:15:58 【问题描述】:是的,我知道通过调用 UITabBarController 不是一个好主意
[self presentModalViewController: animated];
我有隐藏的原始 TabBar 和我自己的 TabBar 的自定义 UITabBarController。我使用这个控制器来选择例如 iTunes 中的歌曲——按歌手、按专辑、按其他方式。然后,当用户从任何选项卡中选择一个时,我会关闭此模式视图控制器并返回主视图。
我开始使用模拟器 ios5 进行开发,一切都很好 - viewWillAppear 在我从 tabbarcontroler [self setSelectedIndex:X] 调用的所有选项卡 tableviewcontrollers 中启动;
但后来我尝试在 4.3 模拟器和设备中运行我的代码,发现 viewWillAppear 根本没有在我的选项卡中启动。
我该如何解决这个问题?谢谢
更新:我使用[self presentModalViewController: animated];
来调用新的UIViewController *controller
,在那里我启动了UITabBarController 并将它的视图放置为子视图。 [controller.view addSubview:myTabBarController.view];
【问题讨论】:
【参考方案1】:在您的UIViewController
中,添加以下内容:
- (void)viewWillAppear:(BOOL)animated
[super viewWillAppear:animated];
[myTabBarController viewWillAppear:animated];
【讨论】:
我会尝试,但我担心在 iOS 5 的情况下我的视图会收到 viewWillAppear 两次。 好吧,如果是这种情况,请告诉我,我们会考虑另一种解决方案以上是关于viewWillAppear 在 4.3 中没有从 UITabBarController 启动,但在 5.0 中可以正常工作的主要内容,如果未能解决你的问题,请参考以下文章
知道 -viewWillAppear 何时触发但 -viewWillDisappear 尚未触发
popviewcontroller 没有调用 viewWillappear
viewWillAppear 没有在 UIPageViewController 孩子上被调用
UIKit 错误? viewWillAppear 在应该被调用时没有被调用 [关闭]