升级iOS14后适配趟坑

iOS14发布有一段时间了,该修的都修改的差不多了,总结一下。
先说一下常见的

1. cell适配

iOS14更改Cell视图布局.将contentView放在最上层,如果将视图加载在cell上,将会出现contentView遮罩,导致事件无法响应.是在此前关于 contentView 的声明注释中,官方已经明确建议开发者将 customView 放在 contentView 上,使 contentView 作为 UITableViewCell 默认的 fatherView。
简而言之 使用self.contentView 代替self

2.相册适配

新增了“Limited Photo Library Access” 模式,在授权弹窗中增加了 Select Photo 选项。用户可以在 App 请求调用相册时选择部分照片让 App 读取。
权限提示框会在每次冷启动后打开相册时重新弹出,可以在 info.plist 中设置 PHPhotoLibraryPreventAutomaticLimitedAccessAlert 选项为 YES ,关闭提示

3.分辨率新增

新出来的几个机型 分辨率有所改动

—机型—物理—逻辑—密度—切图规格—
iPhone 12(Pro) 1170 × 2532 390 × 844 460 @3x
iPhone 12 mini 1125 × 2436 (1080 × 2340) 375 × 812 476 @3x(2.88x)
iPhone 12 Pro Max 1284 × 2778 428 × 926 458 @3x

iPhone (11)XR 828 × 1792 414 × 896 326 @2x
iPhone 11 Pro 1125 × 2436 375 × 812 458 @3x
iPhone 11Pro Max 1242 × 2688 414 × 896 458 @3x
iPhone 8 750 × 1334 375 × 667 326 @2x
iPhone 8 Plus 1242 × 2208 (1080 × 1920) 414 × 736 401 @3x(2.62x)
iPhone 5s 640 × 1136 320 × 568 326 @2x

有同事的Xr手机出现不适配的情况,借过来进行真机调试才发现,Xr有两种分辨率的型号(生产厂商不一样?网上搜了一下大家也有同样遇到的。解决就是两种分辨率都写上。ps:推荐使用安全区域[UIApplication sharedApplication].delegate.window.safeAreaInsets.bottom 来判断,大于0为全面屏)
#define SCREENSIZE_IS_XR ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(828, 1792), [[UIScreen mainScreen] currentMode].size) : NO)
#define SCREENSIZE_IS_XR2 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(750, 1624), [[UIScreen mainScreen] currentMode].size) : NO)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值