iOS 6.0旋转兼容的那点事

这两天问答系统里,问ios横竖屏切换、还有状态栏旋转的问题有点多,来些小心得,希望遇到的人少走弯路;

先贴官方说明:
iOS 6.0 Release Notes:
Autorotation is changing in iOS 6. In iOS 6, the shouldAutorotateToInterfaceOrientation: method 
of UIViewController is deprecated.In its place, you should use the supportedInterfaceOrientationsForWindow: 
and shouldAutorotate methods.

在iOS 6.0之前我们都是使用shouldAutorotateToInterfaceOrientation方法来控制视图、状态栏的旋转,但是iOS 6.0及以后
就要使用supportedInterfaceOrientations方法来控制旋转了;

所以向iOS 6.0兼容的需要手动添加supportedInterfaceOrientations 方法,来控制视图和
  状态栏的旋转,还有两点需要说明:

1、在iOS 6.0之前,控制旋转的代码,无需和plist的中的Supported interface orientations一一对应,举个例子:
plist的Supported interface orientations选项中支持,Portrait(bottom home button)、Landscape(right home button),无Landscape(left home button)
方法shouldAutorotateToInterfaceOrientation中强制支持UIInterfaceOrientationLandscapeLeft编译执行没有任何问题,
但是在iOS 6.0中,如果在supportedInterfaceOrientations中添加UIInterfaceOrientationMaskLandscapeLeft编译正常,
运行过程中,左旋转程序就会异常退出;所以程序支持旋转的,代码与plist一定要保持一致;

2、在Xcode 4.5之前旋转支持的是
UIInterfaceOrientationLandscapeLeft  
 UIInterfaceOrientationLandscapeRight
UIInterfaceOrientationPortrait              
 UIInterfaceOrientationPortraitUpsideDown

而Xcode 4.5 GM Seed及Xcode 4.5.1旋转支持的是(多了个All,还有Mask的修饰,Xcode 4.5之前是不识别的)
UIInterfaceOrientationMaskAll      
UIInterfaceOrientationMaskLandscapeLeft
UIInterfaceOrientationMaskLandscapeRight        
UIInterfaceOrientationMaskPortrait
UIInterfaceOrientationMaskPortraitUpsideDown
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!对于 iOS 版本升级可能导致的兼容问题,以下是一些常见的情况和解决方法: 1. 应用程序崩溃:在新版本的 iOS 中,某些旧版本的 API 可能已被废弃或修改。因此,您的应用程序可能无法正常运行或崩溃。解决方法是检查并更新您的代码,使用最新的 API。 2. UI 布局问题:新版本的 iOS 可能会引入新的 UI 布局规则或更改现有规则。这可能导致您的应用程序在新版本上的界面显示不正常。解决方法是重新检查和调整您的界面布局,以适应新的规则。 3. 不兼容的第三方库或框架:如果您的应用程序使用了第三方库或框架,这些库或框架可能需要进行更新以适应新版本的 iOS。您需要检查并更新这些依赖项,以确保它们与新版本的 iOS 兼容。 4. 功能变更或删除:苹果可能会在新版本中更改或删除某些功能。如果您的应用程序依赖于这些功能,您需要重新评估和调整您的代码。如果某些功能被删除,您可能需要寻找替代方案或重新设计您的应用程序。 5. 性能问题:新版本的 iOS 可能会引入性能优化或变更,这可能会影响您的应用程序的性能。您需要进行性能测试,并根据需要进行调整和优化。 总之,升级 iOS 版本需要谨慎处理,并仔细评估与您的应用程序相关的兼容性问题。在升级之前,建议您详细了解新版本的变更和发布说明,并进行必要的测试和适应性调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值