Iphone 方向和 2 个笔尖文件

Posted

技术标签:

【中文标题】Iphone 方向和 2 个笔尖文件【英文标题】:Iphone Orientation and 2 Nib Files 【发布时间】:2010-12-03 14:40:51 【问题描述】:

我正在尝试制作一个应用程序,其中每个视图控制器 (.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];

【问题讨论】:

你好E-man 这个方法有效吗 【参考方案1】:

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

话虽如此,我已经在应用程序中使用了您在上面介绍的策略,并且似乎效果很好。

为了解决您的视图被“重置”的问题,我建议您在用户从一个控件移动到另一个控件时保留对用户输入的数据的引用。然后,当您的方向改变时,您可以重新填充控件,这样用户的“进度”就不会丢失。

【讨论】:

我希望有一种更清洁的方式... :( 这个方法有效吗?苹果审核的时候会不会出问题?我用的和这个方法一样,会不会有问题? 为什么无效?使用的方法是公共 API。

以上是关于Iphone 方向和 2 个笔尖文件的主要内容,如果未能解决你的问题,请参考以下文章

iphone sdk 3.2 到 4.0 笔尖编辑

如何在兼容 iphone 5 和 iphone 4 的笔尖中应用自动布局?

本地化笔尖在 iPhone 项目中不起作用

适用于 iPhone 和 iPad 的单笔尖

iOS - 无需使用笔尖即可支持 iPad 和 iPhone

iphone 应用程序错误地包括 ipad 笔尖