阻止 UIView 旋转到横向 [英] Stop UIView from roating into landscape
问题描述
我在导航控制器中有一个 UIView,我试图阻止这个视图进入横向,但是我尝试使用的方法从不触发......代码低于任何帮助将不胜感激..
I have a UIView thats inside a navigation controller, I am trying to prevent this view from going into Landscape however the method I am trying to use never fires.. code is below any help would be greatly appreciated..
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
if(interfaceOrientation == UIInterfaceOrientationLandscapeRight)
{
return NO;
}
else if(interfaceOrientation == UIInterfaceOrientationLandscapeLeft)
{
return NO;
}
return NO;
}
推荐答案
您应该为父导航控制器或在 UIViewController
上设置 return NO;
,而不是 <代码>UIView.
You should set return NO;
for the parent navigation controller or on a UIViewController
, not a UIView
.
此外,这与更少的代码一样有效:
Also, this works just the same with less code:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
iOS 6
从 iOS 6 开始,shouldAutorotateToInterfaceOrientation:
已被弃用.如果视图控制器没有覆盖 supportedInterfaceOrientations
方法,UIKit
从应用程序委托或应用程序的 Info.plist 文件中获取默认旋转.
iOS 6
As of iOS 6, shouldAutorotateToInterfaceOrientation:
is deprecated. If the view controller does not override the supportedInterfaceOrientations
method, UIKit
obtains the default rotations from the app delegate or the app’s Info.plist file.
您将需要使用:
- (NSUInteger)supportedInterfaceOrientations NS_AVAILABLE_IOS(6_0);
这篇关于阻止 UIView 旋转到横向的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!