如何强制它仅在UIDeviceOrientationPortrait上显示?
示例 layer1显示在UIInterfaceOrientationLandscapeLeft
上当我将pushViewController推送到layer2时,它将自动显示在UIInterfaceOrientationLandscapeLeft上 我如何强制它显示UIDeviceOrientationPortrait?
答案 0 :(得分:2)
只需在视图控制器中实现shouldAutorotateToInterfaceOrientation:
。
答案 1 :(得分:1)
将以下内容放在你的layer2 viewController:
中// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
答案 2 :(得分:0)
我遇到了麻烦。设置shouldAutorotateToInterfaceOrientation:使得将viewControllers推入堆栈将导致其视图正确定向,但是您不能通过显式函数调用强制纵向或横向的方向。
我到目前为止看到的最好的是自己处理动画(使用CATransform和相关的CoreAnimation调用)。它不漂亮。
如果有人知道强制视图旋转的方法(即没有推/弹视图控制器,也没有旋转实际设备),那么请让我/我们知道。