我有以下View COntroller结构:
ScrollViewController LandscapeViewController PortraitViewController
每个都有自己的.nib
应用程序以横向模式启动,其中许多横向视图添加到滚动视图中。每个横向视图都有其特定的纵向视图,因此我必须为每个视图分配相同的ID。你能告诉我,在旋转设备时如何为每个横向视图加载特定的纵向视图?
我必须制作两个滚动视图吗?一个用于景观,一个用于肖像?或者是否可以只滚动横向滚动视图加载一个纵向视图,其中包含基于ID的正确内容?我怎么能实现呢?
数据来自属性列表。
提前致谢!
答案 0 :(得分:2)
您可以在UIViewController中使用shouldAutorotateToInterfaceOrientation来提供您正在寻找的功能。在下面的示例中,我将切换视图以对应方向更改:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
if (UIInterfaceOrientationIsPortrait(interfaceOrientation)) {
/* Switch to the portrait view or do any other custom layout changes for current Orientation */
self.view = portraitView;
} else if (UIInterfaceOrientationIsLandscape(interfaceOrientation)) {
/* Switch to the landscape view or do any other custom layout changes for current Orientation */
self.view = landscapeView;
}
return YES;
}
在您的情况下,您可以使用shouldAutorotateToInterfaceOrientation来调整视图大小或切换到相应的纵向视图。
希望有所帮助。