0

我一直是一个我没有找到好的答案的问题。

是否有可能(必须!;)构建不同的用户界面,例如横向和纵向或具有 3,5" 或 4" 显示屏的 iPhone。

就像在代码中说的那样,这是横向界面,这是纵向界面......

我希望有一个简单的方法。:)

德国慕尼黑致以最诚挚的问候

劳伦兹

4

1 回答 1

1

我就是这样做的。我创建了一个名为的函数,该函数configureViewForOrientation:将您要为其设置界面的方向作为参数。

-(void)configureViewForOrientation:(UIInterfaceOrientation)orientation
{
    if (UIInterfaceOrientationIsPortrait(orientation))
    {
        //set up portrait interface
    }

    else
    { 
        //set up landscape interface
    }
}

您可以从您的viewDidLoad(或您最初设置界面的任何位置)调用此方法,并使用以下方式为其提供当前方向[UIApplication sharedApplication].statusBarOrientation

-(void)viewDidLoad
{
    [super viewDidLoad];
    [self configureViewForOrientation:[UIApplication sharedApplication].statusBarOrientation];
}

您也可以在设备旋转时调用它:

-(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
    [super willAnimateRotationToInterfaceOrientation:toInterfaceOrientation duration:duration];
    [self configureViewForOrientation:toInterfaceOrientation];
}

有几个注意事项(例如您是否在应用启动时立即检查设备方向),但这应该在大多数情况下都有效。

于 2012-09-26T21:15:21.503 回答