仅景观在Cocoa Touch中查看

时间:2009-09-23 21:25:00

标签: objective-c cocoa-touch

是否可以在横向位置修复视图的方向,而不管设备的当前位置如何?

更具体地说,我在UINavigationController中有一个UIWebView,它应该始终显示其内容,就像设备逆时针旋转90度一样。我只希望将Web视图限制在此方向;应用程序中的每个其他视图都应该正常运行。

2 个答案:

答案 0 :(得分:2)

是。在info.plist文件中,定义:

UIInterfaceOrientation UIInterfaceOrientationLandscapeRight

编辑:

以上更改了整个应用的方向,并且您说您不希望这样。用户可以移动手机以达到您需要的方向吗?

如果您不想依赖用户将手机更改为该方向,请尝试:

    self.view.transform = CGAffineTransformMakeRotation((M_PI * (90) / 180.0));
    self.view.bounds = CGRectMake(0.0, 0.0, 480, 320);

答案 1 :(得分:2)

在视图的控制器中,实施shouldAutorotateToInterfaceOrientation

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)orientation {
    return UIInterfaceOrientationIsLandscape(orientation);
}

或者,如果您只想允许左侧风景(例如,Youtube应用程序的默认设置)

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)orientation {
    return orientation == UIInterfaceOrientationLandscapeRight;
}