当我在 iOS 6 中将我的应用程序从纵向旋转到横向时,我想创建一个单独的视图。我能找到的唯一重要文档是在 Apple Developer 网站上,但它不是很详尽。
我需要彻底了解如何设置(和连接)纵向视图控制器和横向视图控制器以进行旋转。
我设法使用一些已弃用的 iOS 5 方法让它工作,但它不是万无一失或故障安全的,目前超过 80% 的 iOS 用户正在使用 iOS 6。
谢谢
当我在 iOS 6 中将我的应用程序从纵向旋转到横向时,我想创建一个单独的视图。我能找到的唯一重要文档是在 Apple Developer 网站上,但它不是很详尽。
我需要彻底了解如何设置(和连接)纵向视图控制器和横向视图控制器以进行旋转。
我设法使用一些已弃用的 iOS 5 方法让它工作,但它不是万无一失或故障安全的,目前超过 80% 的 iOS 用户正在使用 iOS 6。
谢谢
根据 pmk 建议,我将扩展并建议您执行以下操作:
在您的 xib 文件中,创建两个不同的视图,除了 UIViewController 的视图。其中一个应该是纵向模式,另一个应该是横向模式。
在接口文件中声明两个 IBOutlet 视图,并将它们连接到我上面解释的视图:
IBOutlet UIView *portraitView;
IBOutlet UIView *landscapeView;
现在,在您的实现文件中,您需要“了解”方向的变化,并根据方向设置正确的。在您的 viewDidLoad 中,您可以放置:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didRotate:) name:UIDeviceOrientationDidChangeNotification object:nil];
然后,最后,你实现了这样的东西:
-(void)didRotate:(NSNotification *)notification
{
UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];
if (orientation == UIDeviceOrientationLandscape)
{
portraitView.hidden = YES;
landscapeView.hidden = NO;
}
else if (orientation == UIDeviceOrientationPortrait)
{
portraitView.hidden = NO;
landscapeView.hidden = YES;
}
}