0

我正在研究基于 ARC 的项目。我的项目是针对 iOS 4.3 我想强制

纵向到我的观点之一。以下似乎对我不起作用。

[[UIDevice currentDevice] performSelector:NSSelectorFromString(@"setOrientation:") withObject:(id)UIInterfaceOrientationPortrait];

对此有什么帮助吗?

4

1 回答 1

1

首先,需要支持方向的 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。

于 2012-10-17T07:32:45.150 回答