【问题标题】:viewWillAppear not fired up from UITabBarController in 4.3 but works fine in 5.0viewWillAppear 在 4.3 中没有从 UITabBarController 启动,但在 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];

【问题讨论】:

    标签: iphone ios4 ios5 ios-simulator


    【解决方案1】:

    在您的UIViewController 中,添加以下内容:

    - (void)viewWillAppear:(BOOL)animated {
       [super viewWillAppear:animated];
       [myTabBarController viewWillAppear:animated];
    }
    

    【讨论】:

    • 我会尝试,但我担心在 iOS 5 的情况下我的视图会收到 viewWillAppear 两次。
    • 好吧,如果是这种情况,请告诉我,我们会考虑另一种解决方案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-14
    • 1970-01-01
    • 2015-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多