强制我的视图纵向

时间:2012-10-17 07:11:59

标签: objective-c xcode uiinterfaceorientation device-orientation uideviceorientation

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

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

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

对此有何帮助?

1 个答案:

答案 0 :(得分:1)

首先,需要支持方向的viewController必须实现以下方法传递支持的方向。

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation

稍后手动旋转视图,使用

直接设置设备方向
[[UIDevice currentDevice] setOrientation:UIInterfaceOrientationPortrait];

如果这不起作用,请使用

[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationPortrait animated:YES];

请记住,如果您在shouldAutoRotate中为设置方向返回NO,则可能无效。同时在ios5& ios6,我试过ios5。

编辑:对于不存在setOrientation的iOS5或iOS6

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

这很好用,但现在这可能是私人api。