旋转变化后UINavigationBar消失

时间:2013-02-02 20:01:16

标签: ios xcode uiviewcontroller uinavigationbar uiinterfaceorientation

我有一个UIViewController,我正在绘制一个UINavigationBar。它可以在旋转中找到,但是当我在绘制UINavigationBar后更改旋转时,它会消失!

以下是更改轮换的代码:

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
    if (CGRectEqualToRect(navBar.frame, CGRectMake(0, 0, 768, 44))) {
        navBar.frame = CGRectMake(0, 0, 1024, 44);
    } else {
        navBar.frame = CGRectMake(0, 0, 768, 44);
    }
}

1 个答案:

答案 0 :(得分:2)

我从来没有这样做过,所以我在这里推荐一些我从未测试过的东西。

您可以尝试添加[navBar setNeedDisplay]; 但我不认为这是最好的方式 我宁愿在UIViewController

上查看此方法
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation duration:(NSTimeInterval)duration

从我看到的你也应该得到动画:

  

<强>讨论
  从用于旋转视图的动画块中调用此方法。您可以覆盖此方法并使用它来配置在视图旋转期间应发生的其他动画。例如,您可以使用它来调整内容的缩放级别,更改滚动条位置或修改视图的其他可设置动画的属性。