iOS 13 適配之路

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章