【发布时间】:2011-08-24 09:19:49
【问题描述】:
所以我整个上午都在试图弄清楚如何在方向更改时从一个视图控制器加载第二个 nib 文件,但我没有成功,这就是我来这里寻求帮助的原因。问题是我想在设备旋转时加载一个横向 nib 文件。我有这段代码到目前为止它不起作用:
-(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
if (toInterfaceOrientation==UIInterfaceOrientationLandscapeRight || toInterfaceOrientation==UIInterfaceOrientationLandscapeLeft) {
[self initWithNibName:@"myNibFile" bundle:nil];
}
}
新笔尖未加载。在界面生成器中,我将文件所有者设置为此视图控制器,因此它应该可以工作。我也尝试过:[[NSBundle mainBundle] loadNibNamed:@"myNibFile" owner:self options:nil];
,但我也没有运气你能提供一个关于如何从 initWithNibName 加载 nib 文件的示例或有用的链接吗?我好像在网上找不到。
非常感谢。
【问题讨论】:
-
即使你实现了这一点,你的 outlet 都将重新连接到新 nib 中的视图组件,因此你在现有视图中设置的任何值(例如文本字段、按钮状态)都将一旦加载新的笔尖就会丢失。我建议在界面构建器中了解大小检查器的大小、定位和自动调整大小功能 - 通过正确设置这些功能可以让您的视图在旋转时自动调整其布局。
标签: iphone objective-c cocoa-touch