最初的作品已经很好用了。只是细节需要改动一下。
更改
- 原代码低于Swift 4.0,Xcode 11 beta 5无法编译。此次,先将Swift改成4.0。发现一切正常,没有需要改动的地方。
- 原代码不支持暗模式,可以在故事版中将颜色重新选择为支持暗模式的。特别的,在资源中新建颜色资源
AlertBackgroundColor
,获得模拟器中UIAlertController.view
在亮/暗模式下的背景颜色。并指定为Alert View
的背景色。 - 原代码
ViewController.swift
第55行使用了.overCurrentContext
,这个在master/detail模式的布局中,如果detail中弹出自定义的警告窗口,之后旋转屏幕或者更改显示模式(比如由亮改暗),警告窗口就会出现问题。此处需要改成.overFullScreen
。 - 原代码
CustomAlertView.swift
第23行alertViewGrayColor
使用了自定义颜色,注释掉掉。在第35行插入let alertViewGrayColor = UIColor.systemGray2
。 CustomAlertView.swift
第36行插入let lineThickness:CGFloat = 0.5
,并且将第37-39行的width: 1.0
改成width: lineThickness
。
小结
经过以上的改动,就可以获得一个支持iOS 13 beta的自定义AlertController了。剩下的你只需要根据自己的需求,继续填充就可以了。