iOS5中的视图控制器层次结构初始化已更改

时间:2011-11-03 22:11:29

标签: uinavigationcontroller uitabbarcontroller ios5 uinavigationbar presentmodalviewcontroller

这是问题所在。 我有以下视图层次结构,使用翻转动画以模态方式推送:

  • BackViewController
    • 的UITabBarController
      • 的UINavigationController
        • ForecastListViewController

看起来像这样:

enter image description here

以下是iOS 4.3中翻转期间的调用序列:

  1. BackViewController viewDidLoad
  2. ForecastListViewController viewDidLoad
  3. BackViewController viewWillAppear
  4. ForecastListViewController viewWillAppear
  5. BackViewController viewDidAppear
  6. ForecastListViewController viewDidAppear
  7. 在iOS 5.0中,顺序不同(第2步和第3步已切换):

    1. BackViewController viewDidLoad
    2. BackViewController viewWillAppear
    3. ForecastListViewController viewDidLoad
    4. ForecastListViewController viewWillAppear
    5. BackViewController viewDidAppear
    6. ForecastListViewController viewDidAppear
    7. 问题是现在导航栏的顶部在翻转动画期间在状态栏的底部下方显示10个像素,然后在动画终止后快速回到其预期位置。

      我尝试更改ForecastListViewController viewDidLoad方法中的导航栏框架但没有成功:没有任何反应。

      如果我强制加载ForecastListViewController,那么它就像步骤2一样(通过在调查此问题的同时强制遍历层次结构),一切都很好。但我正在寻找一个好的解决方案,而不是这个“黑客”。

      有这个问题吗? 任何线索或指针? 我对如何优雅地解决这个问题感到茫然

0 个答案:

没有答案