另一种横向模式问题。
我们都见过
[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight animated:NO];
无意义。我无法在模拟器或设备上使用它。
我得到的是:
http://i47.tinypic.com/zl9egh.png
当我真的想要这个时:
http://i45.tinypic.com/xms6cm.png
正如你可能会说的那样,它正在翻转手机,但它没有意识到它已被翻转。
我见过隐藏的方法
[[UIDevice currentDevice] setOrientation:UIInterfaceOrientationLandscapeRight];
但我需要这个应用程序在应用程序商店,我不知道他们是否会打击它。
有没有人知道如何让这个该死的东西挺直自己?
答案 0 :(得分:2)
理想情况下,您的视图控制器应该实现:
- (BOOL)shouldAutorotateToInterfaceOrientation:
(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft ||
interfaceOrientation == UIInterfaceOrientationLandscapeRight);
}
然后,该视图控制器唯一允许的方向是横向方向之一。
除非你有一个非常复杂的视图层次结构,它使用了一个标签栏控制器,否则这会导致视图在被推动时旋转。
如果不起作用,您可以尝试:
[[UIDevice currentDevice] performSelector:
@selector(setOrientation:)
withObject:(id)UIInterfaceOrientationLandscapeRight];
我在AppStore中有一个使用此代码的应用程序,因为在我的情况下,我确实有一个复杂的视图层次结构,这使得我只需要在工作中保持景观。
答案 1 :(得分:0)
如果要旋转应用程序的单个部分,可以使用UIView的CGAffineTransform转换属性。有关示例,请检查此主题: