我的应用程序有2个不同的视图(一个用于Portrait,另一个用于Landscape模式),我想将它们分成不同的XIB文件,这样我就可以使用更少的内存。我已经这样做了但是当我改变iPad的方向时,我的视图变得空白。 我试图做以下事情:
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration{
self = [[MyController alloc] initWithNibName:@"MyControllerLandscape" bundle:nil];
}
但它只是初始化没有数据的视图(没有图像,没有标签,......)。如何“卸载”当前视图并使用界面方向“加载”新视图,避免弹出视图并推送新视图?
编辑:
我现在已经尝试过了,它或多或少都在工作:
[[NSBundle mainBundle] loadNibNamed:@"myPortraitView" owner:self options:nil];
[[NSBundle mainBundle] loadNibNamed:@"myLandscapeView" owner:self options:nil];
我现在的问题是:如果我在我的init方法上执行此操作,它会将两个视图加载到内存中,还是仅在引用时加载视图的引用?
答案 0 :(得分:2)