如果暗夜模式单独写一个类
来源:6-8 暗夜模式功能的实现
MingLL
2019-03-28 21:54:02
如果暗夜模式单独写一个类,怎么用类中的swich开关改变ViewController中的UI控件的属性
2回答
好帮手慕雪
2019-04-14



同学多多练习就会慢慢掌握了。祝:学习愉快
一只程序猿儿
2019-04-03
你的想法很好,但是有个误区,独立出来的类不应该和任何UI控件做绑定。这个类应该是记录当前的主题状态,持久化主题状态,以及提供方法供外部去修改这个状态,当主题状态被更改的时候,类应该主动发送消息通知控制器去更改对应的主题色。这个类你可以用单例去实现,通知其他类,你可以利用NSNotification来实现,每个控制器去监听,收到消息就改变主题色。当然你不可能每个ViewController都要写一遍observe的方法,重复代码很多,你可以利用类的三大特性之一‘继承’去做,写个BaseViewController,监听一遍,子类去实现更改主题的方法。最后这个类还有一点需要注意,就是持久化你的主题状态,应用启动后要初始化这个类 ,读取上次的状态,在控制器中也要读取当前的状态,Controller中的UI初始化根据状态赋值不同的主题色,这样就保证了你的应用重启之后能恢复上一次的 主题色了。
祝:学习愉快
相似问题