1

我的 iphone 应用程序支持纵向和横向。为了在新的 iphone 5 中做到这一点,iOS 6 引入了一个称为自动布局约束的新属性。但是我需要同时支持我的应用程序 iOS 5 和 iOS 6。所以我不能使用这个约束。有没有办法在不使用自动布局的情况下做到纵向和横向?

4

1 回答 1

2

是的,你可以很容易地做到这一点。

对于 iOS6

UIViewControllers,其中你只需要PORTRAIT模式,写这些函数

- (BOOL)shouldAutorotate
{
     return YES;
}

- (NSUInteger)supportedInterfaceOrientations
{
     return (UIInterfaceOrientationMaskPortrait);
}

对于也需要 LANDSCAPE 的 UIViewController,将遮罩更改为全部。

- (NSUInteger)supportedInterfaceOrientations
{
    return (UIInterfaceOrientationMaskAllButUpsideDown);
    //OR return (UIInterfaceOrientationMaskAll);
}

现在,如果您想在方向更改时进行一些更改,请使用此功能。

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{

}

对于 iOS5

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {

    if (interfaceOrientation == UIInterfaceOrientationPortrait || interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown) {
        return YES;
    }

    return NO;
}
于 2012-10-09T05:45:10.643 回答