Xcode 13.0 和 iOS 15.0 适配

iOS开发

共 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 资料后,汇总整理出来,可以说是程序员面试必备!所有资料都整理到网盘了,欢迎下载!

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

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

浏览 21
点赞
评论
收藏
分享

手机扫一扫分享

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

手机扫一扫分享

举报