这是问题所在。
我有以下视图层次结构,使用翻转动画以模态方式推送:
- BackViewController
- 的UITabBarController
- 的UINavigationController
- ForecastListViewController
看起来像这样:
以下是iOS 4.3中翻转期间的调用序列:
- BackViewController viewDidLoad
- ForecastListViewController viewDidLoad
- BackViewController viewWillAppear
- ForecastListViewController viewWillAppear
- BackViewController viewDidAppear
- ForecastListViewController viewDidAppear
醇>
在iOS 5.0中,顺序不同(第2步和第3步已切换):
- BackViewController viewDidLoad
- BackViewController viewWillAppear
- ForecastListViewController viewDidLoad
- ForecastListViewController viewWillAppear
- BackViewController viewDidAppear
- ForecastListViewController viewDidAppear
醇>
问题是现在导航栏的顶部在翻转动画期间在状态栏的底部下方显示10个像素,然后在动画终止后快速回到其预期位置。
我尝试更改ForecastListViewController viewDidLoad方法中的导航栏框架但没有成功:没有任何反应。
如果我强制加载ForecastListViewController,那么它就像步骤2一样(通过在调查此问题的同时强制遍历层次结构),一切都很好。但我正在寻找一个好的解决方案,而不是这个“黑客”。
有这个问题吗?
任何线索或指针?
我对如何优雅地解决这个问题感到茫然