旋转更改后 UINavigationBar 消失
Posted
技术标签:
【中文标题】旋转更改后 UINavigationBar 消失【英文标题】:UINavigationBar disappearing after rotation change 【发布时间】: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);
【问题讨论】:
【参考方案1】:我从来没有这样做过,所以我在这里建议我从未测试过的东西。
您可以尝试添加[navBar setNeedDisplay];
但我认为这不是最好的方法。
我宁愿在UIViewController上检查这个方法
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation duration:(NSTimeInterval)duration
据我所知,您还应该从中获得动画效果:
讨论 从用于旋转视图的动画块中调用此方法。您可以覆盖此方法并使用它来配置应在视图旋转期间发生的其他动画。例如,您可以使用它来调整内容的缩放级别、更改滚动条位置或修改视图的其他动画属性。
【讨论】:
以上是关于旋转更改后 UINavigationBar 消失的主要内容,如果未能解决你的问题,请参考以下文章
从 UIActivityViewController 关闭邮件后 UINavigationBar 消失
用户使用 Firebase 注销后,根控制器 UINavigationBar 消失
UISplitViewController Detail View 旋转后消失