我正在开发一个有大约 12 个 View 的应用程序。我希望一些是纵向的,而另一些是横向的。
如何将某些 View 的方向锁定为纵向而将其他 View 的方向锁定为横向?
我尝试了前面示例中的以下代码,但它没有锁定方向。
[[UIDevice currentDevice] setValue:
[NSNumber numberWithInteger: UIInterfaceOrientationLandscapeLeft]
forKey"orientation"];
Best Answer-推荐答案 strong>
经过将近 24 小时的尝试,我终于解决了这个问题。对于一个“ShouldAutoRotate”永远不会被调用。这就是我到处都能找到的“只需添加 shouldAutoRotate”......没用。我也不确定为什么人们对我的问题投反对票。
对我有用的是将以下方法添加到我的 Appdelegate.m 文件中。
- (NSUInteger)applicationUIApplication *)application supportedInterfaceOrientationsForWindowUIWindow *)window{
NSUInteger orientations = UIInterfaceOrientationMaskAllButUpsideDown;
if(self.window.rootViewController){
UIViewController *presentedViewController = [[(UINavigationController *)self.window.rootViewController viewControllers] lastObject];
orientations = [presentedViewController supportedInterfaceOrientations];
}
return orientations;
}
然后在viewcontroller.m文件中添加下面的方法我要锁定到横向。
- (NSUInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationMaskLandscape;
}
关于ios - Xcode IOS将某些方向锁定为纵向,而将某些方向锁定为横向,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/27236752/
|