八宝粥iOS学习笔记

iOS13

2019-12-17  本文已影响0人  LPL_d5fc

iOS13创建窗口

之前版本都是在AppDelegate中设置窗口的跟控制器。iOS13后这种写法依旧可以,但是AppDelegate中的window属性不见了,不能直接self.window设置了,要注意一下。

iOS13之前,AppDelegate全权处理App生命周期和UI生命周期;

iOS13之后,AppDelegate负责:

1、处理 App 生命周期

2、新的 Scene Session 生命周期

iOS13之后,Appdelegate不在负责UI生命周期,所有UI生命周期交给SceneDelegate处理

所以新写法要写在新出的SceneDelegate文件中,代码如图

iOS13夜间模式

1.夜间模式也在这里做一个笔记。

iOS13后,UIColor不再是静态的颜色了,现在的UIColor是可以封装几种颜色在里面,然后当系统的dark 和 light状态切换的时候,系统会根据程序猿封装的颜色自动改变界面的颜色。

我的夜间模式就是自己写了一个UIColor的分类,在里面封装好动态颜色。通过类方法调用就可以了。如图:

封装颜色时,只需要添加一个if判断系统的状态,然后根据不同的状态返回不同的颜色,就可以轻松实现夜间模式了。

2.关于判断系统当前的模式是dark 还是 light

创建UITraitCollection对象的时候不要直接alloc, init,那样创建的对象跟当前系统的状态没有什么关联。

创建的时候一定要如上图一样UITrainCollection.currentTraitCollection;赋予当前的UITraitCollection对象,这样就可以获取当前的系统的状态了。

上一篇 下一篇

猜你喜欢

热点阅读