ios系统升级记录适配篇

以下记录的是,我在学习中的一些学习笔记,这篇笔记是自己学习的学习大杂烩,主要用于记录,方便查找

系统系列系统发布时间ios系统版本
ios 15系列
ios 15.2
ios 15.12021年10月27日
ios 15.0.22021年10月11日
ios 15.0iPhone 13 、iPhone 13 Pro 2021年9月21日
ios 14系列
ios 14.82021年9月14日
ios 14.72021年7月20日
ios 14.62021年5月25日
ios 14.52021年4月27日
ios 14.42021年1月27日
ios 14.32020年12月15日
ios 14.22020年11月6日
ios 14.12020年10月21日
ios 14.0.12020年9月25日
ios 14.0iPhone 12、iPhone 12 Max、iPhone 12 Pro、iPhone 12 Pro Max、iPhone 12 mini 2020年9月17日
ios 13系列
ios 13.1.22019年10月1日
ios 13.1.12019年9月28日
ios 13.12019年9月25日
ios 13iPhone 11、iPhone 11 Pro、iPhone 11 Pro Max 2019年9月20日
ios 12系列
ios 12.52020年12月15日
ios 12.42019年7月23日
ios 12.32019年5月14日
ios 12.22019年3月26日
ios 12.12018年10月31日
ios 12.0iPhone XS、iPhoneXS Max、iPhone XR 2018年9月18日
ios 11系列
ios 11.4.12018年7月10日
ios 11.42018年5月30日
ios 11.3.12018年4月25日
ios 11.32018年3月30日
ios 11.2.62018年2月20日
ios 11.2.52018年1月24日
ios11.2.22018年1月9日
ios 11.2.12017年12月14日
ios 11.22017年12月2日
ios 11.1.22017年11月17日
ios 11.1.12017年11月10日
ios 11.12017年11月1日
ios 11.0.32017年10月12日
ios 11.0.22017年10月4日
ios 11.0.12017年9月27日
ios 11.0iPhone8/x 2017年9月20日
ios 10系列
ios 10.3.32017年7月20日
ios 10.3.22017年5月16日
ios 10.3.12017年4月11日
ios 10.32017年3月28日
ios 10.2.12017年1月23日
ios 10.22016年12月12日
ios 10.1.12016年10月31日
ios 10.12016年10月24日
ios 10iPhone7 2016年9月13日
ios 9系列
ios 9.3.22016年5月17日
ios 9.32016年3月22日
ios 9.12015年10月23日
ios 9.0iPhone 6s 2015年9月16日
ios 8系列
ios 8.0iPhone6 2014年9月12日
ios 7系列
ios 7.0iPhone5s 2013年9月10日
ios 6系列
ios 6.0iPhone5 2012年9月19日

===========================================

ios 12:

@@1.双 SIM 卡
@@2. 屏幕使用时间
@@3.勿扰模式
@@4.测距仪
@@5. 电池信息

@@其他功能:https://support.apple.com/zh-cn/guide/iphone/iphfed2c4091/12.0/ios/12.0
ios 12 适配:
https://www.cnblogs.com/niit-soft-518/p/10078306.html

===========================================

ios 13:

@@1.深色模式
@@2.图库 按年月日呈现
@@3.键盘速滑

@@其他功能:https://support.apple.com/zh-cn/guide/iphone/iphfed2c4091/13.0/ios/13.0
ios 13 适配 :
https://juejin.im/post/5d8af88ef265da5b6e0a23ac

===========================================

ios 14:

@@1.App 资源库
@@2. 轻 App
@@3.全新的“翻译” App
@@4.画中画
@@5. 重要的 信息 顶置
@@6. 隐私权限大升级
@@其他功能:https://support.apple.com/zh-cn/guide/iphone/iphfed2c4091/14.0/ios/14.0

ios 14 适配:
&&1.点击cell上的视图无法响应
在这里插入图片描述

出现的问题原因:iOS14 更改Cell视图布局.将contentView放在最上层,如果将视图加载在cell上,将会出现contentView遮罩,导致事件无法响应.是在此前关于 contentView 的声明注释中,官方已经明确建议开发者将 customView 放在 contentView 上,使 contentView 作为 UITableViewCell 默认的父视图。
解决办法:
1、可以将cell子视图加载在contentView上(提倡)
2、将contentView设置到最底self.sendSubviewToBack(self.contentView)
在这里插入图片描述

     [self.contentView addSubview:btn];

&2. 日历样式适配
在这里插入图片描述
出现的问题原因:iOS14 UIDatePicker新增加了一个UI样式 UIDatePickerStyleInline 作为默认样式,如果还需要旧版本的滚轮样式,需要设置为UIDatePicker 的 preferredDatePickerStyle 属性为 UIDatePickerStyleWheels。
解决办法:
在这里插入图片描述

  UIDatePicker *datePicker = [[UIDatePicker alloc] init];
    if (@available(iOS 13.4, *)){
        datePicker.preferredDatePickerStyle = UIDatePickerStyleWheels;
    }
    datePicker.frame = CGRectMake(0, 40, windowW, 220);

在这里插入图片描述
&&3.相册权限处理
iOS14 新增了“Limited Photo Library Access” 模式,在授权弹窗中增加了 Select Photo 选项。用户可以在 App 请求调用相册时选择部分照片让 App 读取。从 App 的视⻆来看,你的相册里就只有这几张照片,App 无法得知其它照片的存在。

权限提示框会在每次冷启动后打开相册时重新弹出,可以在 info.plist 中设置 PHPhotoLibraryPreventAutomaticLimitedAccessAlert 选项为 YES ,关闭提示。
在 iOS14 中官方推荐使用 PHPicker 来替代原 API 进行图片选择。PHPicker 为独立进程,会在视图最顶层进行展示,应用内无法对其进行截图也无法直接访问到其内的数据。

UIImagePickerController -> PHPickerViewController, UIImagePickerViewController 功能受限,每次只能选择一张图片,将逐渐被废弃。

使用TZImagePickerController更快的解决照片的问题:
https://github.com/banchichen/TZImagePickerController

//-相册图片选择 操作
- (void)albumChooseOp {
    
    TZImagePickerController *imagePickerVc = [
        [TZImagePickerController alloc] initWithMaxImagesCount:self.maxNum-self.num delegate:self];
    [imagePickerVc setAllowPickingVideo:NO];
    [self presentViewController:imagePickerVc animated:YES completion:nil];
}

//相册图片选择图片回调: 用户点击了取消
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{
    [self dismissViewControllerAnimated:YES completion:^{}];
}

//相册图片选择图片回调:用户选择好了图片,如果assets非空,则用户选择了原图
- (void)imagePickerController:(TZImagePickerController *)picker didFinishPickingPhotos:(NSArray<UIImage *> *)photos sourceAssets:(NSArray *)assets isSelectOriginalPhoto:(BOOL)isSelectOriginalPhoto infos:(NSArray<NSDictionary *> *)infos{
    
    for (UIImage *chooseImg in photos) {

        UIImage *currentImage = chooseImg;
        [self.aryImages addObject:currentImage];
    }
    
    [picker dismissViewControllerAnimated:YES completion:^{
         [self callBackImages];
    }];
}

===========================================

ios 15:

@@1. 新功能:专注模式
@@2. 新功能:麦克风模式
@@3. 新功能:可翻译各处文本
@@4. 新功能:沉浸式步行导航
@@5. 新功能:实况文本
@@6. 新功能:通知摘要
@@7. 新功能:网页“标签页组”整理
@@8. 新功能:App内的“与您共享”
@@ 其他功能:https://support.apple.com/zh-cn/guide/iphone/iphfed2c4091/15.0/ios/15.0

ios 15适配:

&&1. NavigationBar 导航栏问题
出现问题原因:
在iOS 15中,UINavigationBar默认为透明。在滑动时会有模糊效果。如果想要一直就是模糊效果,可以通过改变scrollEdgeAppearance属性来实现。

解决办法:
在这里插入图片描述

//解决 iOS 15  UINavigationBar 透明
    if (@available(iOS 15.0, *)) {
        
       UINavigationBarAppearance  *navBarApp=[UINavigationBarAppearance new];
       navBarApp.backgroundColor=[AppUtils colorWithHexString:colorWithe alpha:1];
       self.navigationController.navigationBar.scrollEdgeAppearance=navBarApp;
       self.navigationController.navigationBar.standardAppearance=navBarApp;
        
    }

&&2. UITableView sectionHeader 增高了 22px
在这里插入图片描述

出现问题的原因:OS 15中 UITableView 新增了一个属性:sectionHeaderTopPadding。此属性会给每一个 section header 增加一个默认高度,当我们使用 UITableViewStylePlain 初始化UITableView 的时候,系统默认给 section header 增高了22像素。

解决办法:
在这里插入图片描述

   //解决 iOS 15 UITableView sectionHeader下移22像素
    if (@available(iOS 15.0, *)) {
        _tableView.sectionHeaderTopPadding = 0;
    }

===========================================

----------------未完,待完善

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荣•厚德载物

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值