当用户改变设备方向时,如何只旋转导航栏而不旋转视图?
Posted
技术标签:
【中文标题】当用户改变设备方向时,如何只旋转导航栏而不旋转视图?【英文标题】:When the user changes device orientation, how to rotate only the navigation bar and not the view? 【发布时间】:2012-02-18 15:04:36 【问题描述】:所以,基本上我有一个顶部带有导航栏的 ViewController。
说,为了示例,我的 ViewController 的视图是数字 8 中的图片。我可以做什么当设备旋转时,导航栏也旋转并停留在顶部,但 8 正是和以前一样,让它现在看起来像无穷大符号? (由于设备已旋转但图片未旋转,因此 8 现在正在“放下”)。
谢谢
编辑: 好的,知道了。
必须实现 willRotateToInterfaceOrientation,在方向改变之前将视图旋转 90 度,还必须调整视图的边界
【问题讨论】:
能不能不让视图正常旋转,反方向旋转图像? 【参考方案1】:你试过这样做吗?
RootViewController:你在哪里分配了你的导航控制器。允许在此处旋转设备(应该自动旋转到界面方向 - 是)
但是在 childViewController: 你不想让改变方向的地方。也有实现同样的方法,返回NO。
我不确定它是否会起作用。但这只是一个建议。
【讨论】:
我没有以编程方式分配我的导航栏,我只是将它从情节提要中拖出来..【参考方案2】:您可以先查看 UIViewControllers willRotateToInterfaceOrientation:duration:
您可以在视图控制器旋转之前调用操作,例如设置不同的视图框架
【讨论】:
以上是关于当用户改变设备方向时,如何只旋转导航栏而不旋转视图?的主要内容,如果未能解决你的问题,请参考以下文章
iphone - 在 iphone 的方向改变时,只旋转一个控件而不是所有其他控件