Xcode 13.0 和 iOS 15.0 适配

Posted 程序员大咖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Xcode 13.0 和 iOS 15.0 适配相关的知识,希望对你有一定的参考价值。

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

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

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

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

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

以上是关于Xcode 13.0 和 iOS 15.0 适配的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 13.0 和 iOS 15.0 适配

iOS 15.0 适配TabView 默认表头 区头 高度问题

Xcode 11 beta -playbackState 仅在 iOS 13.0 或更新版本中可用

“if (@available(iOS 13.0, *))” 在 Xcode 10.3 中无法编译

如何更新 Apple 地图中的路线 - iOS 13.0 中的 Xcode Swift 5?

无法开发应用程序,因为在 iOS 13.0/Xcode 11 beta 5 中“无法在设备上找到应用程序”[重复]