ios6设备不支持方向
Posted
技术标签:
【中文标题】ios6设备不支持方向【英文标题】:orientation not supporting in ios6 devices 【发布时间】:2013-06-22 06:24:30 【问题描述】:我有一个基于 xcode 4.2 构建的应用程序,它仅支持纵向,它适用于除 ios6 之外的所有设备。在 iOS 6 设备中,它显示两个方向..我只需要纵向..我正在使用导航控制器 .. 在 appdelegate::
- (BOOL)shouldAutorotate
return ([[UIDevice currentDevice] orientation]==UIInterfaceOrientationPortrait);
- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
return (UIInterfaceOrientationMaskPortrait);
在其他viewControllers ::
- (BOOL)shouldAutorotate
return YES;
- (void)viewDidLayoutSubviews
DisplayFunctionName;
NSLog(@"orientation: %d",self.interfaceOrientation);
- (NSUInteger)supportedInterfaceOrientations
if (UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPad)
return (UIInterfaceOrientationMaskAll);
else
return (UIInterfaceOrientationMaskPortrait);
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
DisplayFunctionName;
NSLog(@"orientation: %d",interfaceOrientation);
return (interfaceOrientation==UIInterfaceOrientationPortrait);
【问题讨论】:
在其他viewControllers中,在shouldAutoRotate
方法中,尝试用return ([[UIDevice currentDevice] orientation]==UIInterfaceOrientationPortrait);
替换return YES;
。
如果您的应用程序中只需要纵向方向,最好在您的应用程序 plist 配置中禁用所有其他方向。
问题解决了吗?
【参考方案1】:
在 IOS6 中,当您希望某些视图为纵向而某些视图需要横向时,很难处理方向,但如果您只希望整个应用程序支持一个方向,则非常容易。只需转到支持文件,然后在您的应用中打开 info.plist 并删除除您想要的方向之外的所有其他方向。以下是一些屏幕截图,可帮助您解决问题
删除所有其他方向后,您的 info.plist 将如下所示
我希望它对你有用。谢谢
【讨论】:
【参考方案2】:iOS 6
shouldAutorotateToInterfaceOrientation: 已弃用并替换为
应该自动旋转
检查这个:https://***.com/a/14938444/305135
【讨论】:
【参考方案3】:尝试使用这些,
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
return UIInterfaceOrientationPortrait;
- (NSUInteger)supportedInterfaceOrientations
return UIInterfaceOrientationPortrait;
- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
return UIInterfaceOrientationPortrait;
【讨论】:
以上是关于ios6设备不支持方向的主要内容,如果未能解决你的问题,请参考以下文章
UIViewController 在 iOS 6 中能否支持比其父级更多的界面方向?
IOS 6 方向 - 只有一个 Viewcontroller 支持横向和纵向方向 - 否则只支持纵向
如何支持IOS6和IOS7应用图标并在同一个应用中启动图像?
preferredInterfaceOrientationForPresentation 必须返回受支持的界面方向 (iOS 6)