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 安裝