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

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