如何在iPhone上以编程方式强制interfaceOrientation?

时间:2010-02-01 04:11:34

标签: iphone

如何强制它仅在UIDeviceOrientationPortrait上显示?

示例 layer1显示在UIInterfaceOrientationLandscapeLeft

当我将pushViewController推送到layer2时,它将自动显示在UIInterfaceOrientationLandscapeLeft上 我如何强制它显示UIDeviceOrientationPortrait?

3 个答案:

答案 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调用)。它不漂亮。

如果有人知道强制视图旋转的方法(即没有推/弹视图控制器,也没有旋转实际设备),那么请让我/我们知道。