如何强制水平方向?

时间:2010-08-21 20:17:05

标签: iphone objective-c cocoa-touch uiviewcontroller

我想做以下事情:

ViewControllerA不应该进入水平方向 ViewControllerA推送ViewControllerB ViewControllerB应该进入水平方向。

不确定要做什么来实现这一目标。

2 个答案:

答案 0 :(得分:2)

在每个UIViewController中,您需要覆盖shouldAutorotateToInterfaceOrientation方法并为您支持的每个界面方向返回一个布尔值:

// ViewControllerA
-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

// ViewControllerB
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    return (interfaceOrientation == UIInterfaceOrientationPortrait ||
            interfaceOrientation == UIInterfaceOrientationLandscapeLeft ||
            interfaceOrientation == UIInterfaceOrientationLandscapeRight);
}

有关详细信息,请查看UIViewController class reference

答案 1 :(得分:0)

看一下AlternateViews Apple示例代码:这就是您所需要的。