如何设置iOS设备方向仅景观?

时间:2013-05-14 15:02:51

标签: ios ipad uikit uiinterfaceorientation

我正在使用MacOSXcode下编写一个简单的应用。我希望我的应用程序始终处于横向模式。所以我在项目属性中设置横向方向。但是当我向window.subview添加按钮时,此按钮不会显示在横向位置。

我只有AppDelegate类。我改变了功能:   - (BOOL)应用程序:(UIApplication *)应用程序didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

我添加了:

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window.backgroundColor = [UIColor purpleColor];
[self.window makeKeyAndVisible];

UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button setBackgroundColor:[UIColor whiteColor]];
[button setFrame:CGRectMake([[UIScreen mainScreen] bounds].size.width/2 - 50, [[UIScreen mainScreen] bounds].size.height/2,
                            100, 100)];
[button setTitle:@"Button" forState:UIControlStateNormal];
[self.window addSubview:button];

enter image description here

更新:我补充道     [self.window setTransform:CGAffineTransformMakeRotation(-M_PI / 2)];

得到了: enter image description here

4 个答案:

答案 0 :(得分:3)

选择目标项目,并确保选择以下横向模式:

enter image description here

答案 1 :(得分:1)

我已经解决了这个问题:

  1. 创建我自己的RootViewController(如How to create root view controller中所示)

  2. 然后:

    self.rootController = [[AppRootViewController alloc] init];
    
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    self.window.rootViewController = self.rootController;
    [self.window addSubview:self.rootController.view];
    
    UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    ....
    
    [[[self.window rootViewController] view] addSubview:button];
    

答案 2 :(得分:0)

有两种机制可以控制它。

您已了解目标属性。如果你改变了这一点,那就应该照顾它。

还有一个较低级别的控件,您可能从旧模板代码中获取了该控件。对于每个视图控制器,如果实现方法

shouldRotateToInterfaceOrientation:

这将覆盖目标的设置。我怀疑超类实现只是引用了目标设置。

答案 3 :(得分:0)

您可以在YourProject-info.plist中添加UISupportedInterfaceOrientations属性,如下所示,然后它只支持横向。

<key>UISupportedInterfaceOrientations</key>
<array>
    <string>UIInterfaceOrientationLandscapeRight</string>
    <string>UIInterfaceOrientationLandscapeLeft</string>
</array>

但不知道你的两张照片是什么意思