我正在制作基于导航的应用程序,除了支持所有方向的ZoomPictureViewController
(放大,缩小图像)之外,我只需要纵向方向。
我正在提交ZoomPictureViewController
并在YE
shouldAutorotateToInterfaceOrientation:
S.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// Return YES for supported orientations
return YES;
}
但我没有轮换。我知道 shouldAutorotateToInterfaceOrientation
, willRotateToInterfaceOrientation
, RotateToInterfaceOrientation
只能在当前/可见时调用查看控制器,但在我的情况下不会发生这种情况。我通过设置断点和NSLog
来检查它。
答案 0 :(得分:1)
您使用的是任何类型的导航控制器还是标签视图控制器?我注意到旋转一个不是第一个或唯一视图的UIView作为主窗口的直接子项时会出现问题。
因此,如果你的UIView是导航控制器或标签视图控制器的一部分,你还需要覆盖导航控制器或标签视图控制器上的shouldAutoRotateToInterfaceOrientation
。
此外,我在Apple文档中有一个重要的问题,可以解释您遇到的问题。
标签栏控制器支持纵向 默认情况下方向,不要 旋转到横向 除非所有的根视图 控制器支持这样的 取向。当设备方向 更改发生,标签栏控制器 查询其视图控制器数组。 如果其中任何一个不支持 方向,标签栏 控制器不会改变它 取向。强>