【问题标题】:UINavigationBar disappearing after rotation change旋转更改后 UINavigationBar 消失
【发布时间】:2013-02-02 20:01:15
【问题描述】:

我有一个 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);
    }
}

【问题讨论】:

    标签: ios xcode uiviewcontroller uinavigationbar uiinterfaceorientation


    【解决方案1】:

    我从来没有这样做过,所以我在这里建议我从未测试过的东西。

    您可以尝试添加[navBar setNeedDisplay]; 但我认为这不是最好的方法。
    我宁愿在UIViewController上检查这个方法

    - (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation duration:(NSTimeInterval)duration
    

    据我所知,您还应该从中获得动画效果:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-16
      • 1970-01-01
      • 1970-01-01
      • 2016-10-26
      • 2011-06-09
      • 2021-07-15
      相关资源
      最近更新 更多