Iphone方向和2个笔尖文件

时间:2010-12-03 14:40:52

标签: iphone ipad ios orientation nib

我正在尝试创建一个应用程序,其中每个视图控制器(.h / .m)有2个NIB文件...一个用于纵向,一个用于横向。这是支持方向的“标准”方式还是必须以编程方式手动设置方向视图?我面临的问题是,当用户翻转方向时,所有视图都会重置(因此用户必须重新输入文本字段/视图输入)。

这是我的定位方法:

- (void) changeTheViewToPortrait:(BOOL)portrait andDuration:(NSTimeInterval)duration{

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:duration];

if(portrait) {
    [[NSBundle mainBundle] loadNibNamed:@"myview-portrait" owner:self options:nil];
    [self setupLayout];
} else{
    [[NSBundle mainBundle] loadNibNamed:@"myview-landscape" owner:self options:nil];
    [self setupLayout];
}

[UIView commitAnimations];

}

1 个答案:

答案 0 :(得分:7)

Apple在“视图控制器编程指南”的“管理视图控制器的界面方向”一节中提供了许多不同的支持多个方向的建议。您可能希望阅读该部分,看看他们的任何建议是否更符合您的需求。

话虽如此,我已经在应用程序中使用了您在上面提到的策略,但它似乎运行良好。

要解决“重置”视图的问题,我建议您保留对用户从控件移动到控件时输入的数据的引用。然后,当您的方向发生变化时,您可以重新填充控件,以便用户的“进度”不会丢失。

相关问题