如何将屏幕旋转到风景?

时间:2010-02-17 11:21:59

标签: iphone

如何将屏幕旋转到横向?

你能建议简单的代码吗?

5 个答案:

答案 0 :(得分:2)

比你想象的要棘手!经过多次讨论后,这篇博文(以及之后进一步讨论的链接)包含了最简洁的答案:

How to Switch to Landscape Mode at will

答案 1 :(得分:2)

在uiViewController中你应该有方法

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
 return YES;
}

为了自动旋转。

如果您的应用程序有一个uiTabBarController,那么您必须继承UITabBarController并将方法添加到它。这样的事情:

@interface MyTabBarController : UITabBarController {

}

@end

#import "MyTabBarController.h"

@implementation MyTabBarController

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    return YES;
}

@end

答案 2 :(得分:0)

答案 3 :(得分:0)

感谢SorinA。需要UITabBarController shouldAutorotateToInterfaceOrientation:给了我各种各样的挫折,因为它不是因为任何原因而被我继承的类(即默认功能对我的应用程序来说很好)。

作为一种比子类更轻量级的解决方案,我使用了一个类别(可能它的全部相同,但看起来重量更轻)。

@interface UITabBarController (WithRotation)
@end

@implementation UITabBarController (WithRotation)
- (BOOL) shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation) interfaceOrientation {
    return YES;
}
@end

P.S。如果您只想支持某些方向,请测试interfaceOrientation并仅在适当的方向返回YES。

p.p.s。什么是info.plist Supported interface orientations?唯一重要的是从shouldAutorotateToInterfaceOrientation:

返回的内容

答案 4 :(得分:0)

只需在视图控制器文件中实现此功能, 你已经完成了。

- (BOOL) shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation) interfaceOrientation
{
     return YES;
}