纵向和横向方向,不使用自动布局约束

时间:2012-10-09 05:37:34

标签: iphone orientation ios6

我的iphone应用程序支持纵向和横向。要在新的iphone 5中执行此操作,iOS 6引入了一个名为auto layout constraint的新属性。但我需要支持iOS 5和iOS 6的应用程序。所以我不能使用这个约束。有没有办法在不使用自动布局的情况下进行纵向和横向拍摄?

1 个答案:

答案 0 :(得分:2)

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

适用于iOS6

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

- (BOOL)shouldAutorotate
{
     return YES;
}

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

对于需要LANDSCAPE的UIViewControllers,将屏蔽更改为All。

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

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

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

}

适用于iOS5

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {

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

    return NO;
}