我正在研究基于 ARC 的项目。我的项目是针对 iOS 4.3 我想强制
纵向到我的观点之一。以下似乎对我不起作用。
[[UIDevice currentDevice] performSelector:NSSelectorFromString(@"setOrientation:") withObject:(id)UIInterfaceOrientationPortrait];
对此有什么帮助吗?
我正在研究基于 ARC 的项目。我的项目是针对 iOS 4.3 我想强制
纵向到我的观点之一。以下似乎对我不起作用。
[[UIDevice currentDevice] performSelector:NSSelectorFromString(@"setOrientation:") withObject:(id)UIInterfaceOrientationPortrait];
对此有什么帮助吗?
首先,需要支持方向的 viewController 必须实现以下传递支持的方向的方法。
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
稍后手动旋转视图直接使用设置设备方向
[[UIDevice currentDevice] setOrientation:UIInterfaceOrientationPortrait];
如果这不起作用,请使用
[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationPortrait animated:YES];
请记住,如果您为设置方向返回 NO,则shouldAutoRotate
可能无法正常工作。还要在 ios5 和 ios6 中检查这一点,我在 ios5 中尝试过。
编辑:对于setOrientation
不存在的 iOS5 或 iOS6
[[UIDevice currentDevice] performSelector:NSSelectorFromString(@"setOrientation:") withObject:(id)UIInterfaceOrientationPortrait];
这很好用,但这现在可能是一个私有 api。