1. 就是各种私有属性的访问 一一删除替换其他方案
2. 暗黑模式 文字颜色 按钮颜色 view颜色 全局修改一下 再部分微调
Label Extension
func setTextColor(_ color: UIColor) {
if #available(iOS 13.0, *) {
let titleColor = UIColor(dynamicProvider: { (trait) -> UIColor in
return trait.userInterfaceStyle == .dark ? UIColor.label : color
})
self.textColor = titleColor
} else {
self.textColor = color
}
}
Button Extension
func setTitleColor(color: UIColor?, state: UIControl.State = .normal) {
if #available(iOS 13.0, *) {
let titleColor = UIColor(dynamicProvider: { (trait) -> UIColor in
return trait.userInterfaceStyle == .dark ? UIColor.label : (color ?? UIColor.white)
})
self.setTitleColor(titleColor, for: state)
} else {
self.setTitleColor(color, for: state)
}
}
func setBgColor(backgroundColor:UIColor, forState state:UIControl.State = .normal) {
if #available(iOS 13.0, *) {
let backgroundColor = UIColor(dynamicProvider: { (trait) -> UIColor in
return trait.userInterfaceStyle == .dark ? UIColor.label : backgroundColor
})
self.setBackgroundImage(UIImage.createImageWithColor(backgroundColor), for: state)
} else {
self.setBackgroundImage(UIImage.createImageWithColor(backgroundColor), for: state)
}
}
view Extension
func setBackgroundColor(_ color: UIColor) {
if #available(iOS 13.0, *) {
let backgroundColor = UIColor(dynamicProvider: { (trait) -> UIColor in
return trait.userInterfaceStyle == .dark ? UIColor.systemBackground : color
})
self.backgroundColor = backgroundColor
} else {
self.backgroundColor = color
}
}
3. present 的可折叠 下滑
func present(_ : UIViewController, animated: Bool, completion: (() -> Void)?)
设置vc 时 如果没有设置 modalPresentationStyle 默认就会是 :
@available(iOS 13.0, *)
case automatic
如果需要之前的样式就需要修改为
vc.modalPresentationStyle = .fullScreen
暂时只有这么多 还有苹果登录什么的还在等UI
个人建议 使用最好可以多系统的一些经常使用的方法做一个简易的二次封装 这样修改起来会比较快捷 代码逻辑也会比较清晰
描述文件 只能下载 iOS 13.1 的beta版 需要13.0 的话 需要自己先升级mac 系统到10.15的beta版 再去这个地址下载手机相应的固件 https://developer.apple.com/download/#ios-restore-images-iphone-new 通过ituns 安装