iphone - viewDidAppear 未调用但 viewWillAppear 调用仅出现在 iOS5 中

标签 iphone uiviewcontroller uinavigationcontroller uitabbarcontroller ios5

我正在使用包含 tabbarcontroller(4 个选项卡)的 View Controller 。 每个标签栏都有一个导航 Controller 。

我的问题是导航 Controller 中使用的 View Controller ,其中 viewDidAppear 在 vi​​ewWillAppear 调用时不会调用?

在 iOS4.x 中工作正常,但在 iOS5 中出现这种情况。

<小时/>
viewcontroller
    | 
    | 
tabbarcontroller (4 tabs)
    |
    |
uinavigationController (Y)
    |
    |
uiViewcontroller  (X)

在这个“X” Controller 中,viewDidAppear不仅在iOS 5中调用,还在iOS44.x中调用?

<小时/>

我尝试一下

在“Y”中我使用

- (void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated
{
    [viewController viewDidAppear:animated];
}

它只会运行一次“X”viewDidAppear。

每次 View 出现时我都需要它。

请帮忙 谢谢

最佳答案

您可以设置 UITabBarController 的委托(delegate)属性并响应 didSelectViewController: 方法以适本地调用 viewController (X) 上的代码。

关于iphone - viewDidAppear 未调用但 viewWillAppear 调用仅出现在 iOS5 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7808776/

相关文章:

iphone - 分组 TableView

iphone - XCode 警告在后续 Build 调用后消失

iphone - 在 iOS 6.0 中,视频从应用程序后台播放到前台需要 2 秒从暂停到播放滞后

ios - 切换选项卡并呈现模式 ViewController 后 TabViewController 为黑色

iphone - 将 indexpath 值传递给 FirstViewController

ios - 使用以下方法消除 UINavigationbar 和另一个 View 之间的黑字符串的秘诀是什么?

iphone - 如何创建 UINavigationBar 投影

ios - 有没有一种通用的方法来通知所有触摸在 UIViewController 级别开始和移动?

iphone - 使用标签栏和导航 Controller , View 被解除到错误的 View

swift - 无法将 UIBarButtonItem 添加到 UINavigationController 中的工具栏