Xcode 13.0 和 iOS 15.0 适配

共 2267字,需浏览 5分钟

 ·

2021-10-19 21:55




👇👇关注后回复 “进群” ,拉你进程序员交流群👇👇









作者:可爱亲宝宝
来源:稀土掘金


链接:https://juejin.cn/post/7018495854168244260





看了掘友的文章后,今天才升级xcode13,跑了一下老项目,发现不少问题,于是记录一下心得。


Xcode13.0


下载后完成,就开始创建一个工程,发现界面变了不少。





一开始是没有那些后缀名的,我直接在Xcode->Preferences里面更改的





这时候我看到上面有一个issues,显示show inline的选项


show inline显示如下





show Minimized是显示如下:





对比可以发现1个简洁很多,1个是错误明显很多,就看个人喜爱了。


bulid了一下项目,发现没有buildSuccess的提示了,替代方案可以选择通知,直接在通知,找到xcode,选择提示就可以。





效果如下:





但感觉还是没有以前好,总是弹通知也感觉有点烦。


iOS15.0


手机升级到了iOS15.0,发现tableView的section Height有偏移


这是因为iOS 15 的 UITableView又新增了一个新属性:sectionHeaderTopPadding


他会给每一个section header 增加一个默认高度,当我们 使用 UITableViewStylePlain 初始化 UITableView的时候,就会发现,系统给section header增高了22像素。


解决方案:


   if (@available(iOS 15.0, *)) {
            _tableView.sectionHeaderTopPadding = 0;
        }

iphone13机型


// iPhone12,iPhone12Pro,iPhone13,iPhone13Pro
#define iPhone12 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1170, 2532), [[UIScreen mainScreen] currentMode].size) : NO)
// iphone12ProMax,iphone13ProMax
#define iPhone12ProMax ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1284, 2778), [[UIScreen mainScreen] currentMode].size) : NO)

老项目都是这么写的,我也不想改了,那就再加一个mini吧


// iPhone13mini
#define iPhone13mini ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1080, 2340), [[UIScreen mainScreen] currentMode].size) : NO)




后面如果遇到有什么问题,再补充好了。





作者:可爱亲宝宝
来源:稀土掘金


链接:https://juejin.cn/post/7018495854168244260


-End-



最近有一些小伙伴,让我帮忙找一些 面试题 资料,于是我翻遍了收藏的 5T 资料后,汇总整理出来,可以说是程序员面试必备!所有资料都整理到网盘了,欢迎下载!










点击👆卡片,关注后回复【面试题】即可获取









在看点这里好文分享给更多人↓↓









浏览 45
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报