使用 RxSwift 构建不同风格的阅读模式[复制链接]

 

来自:

pastedGraphic.pngi.Judso_X1FDx

分类:

iOS精品源码

上传时间:

2017-9-2 11:01:30

 

Tag:

项目介绍:

应用场合

一个应用,为满足用户多变的私欲,拥有多个主题风格、不同的阅读模式(日间/夜间),这种情况喜闻乐见,像某易某音乐,就同时拥有个性换肤和夜间模式的功能。但即使一个应用拥有再多的风格,本质无非是事先准备好这些不同风格的「颜色样式」、「图片样式」、「遮罩样式」而已,当你点击调整风格的按钮,所有需要替换风格的界面收到通知之后,拿到事先准备好的样式进行替换即可。

实现方式

如上所述,我们需要监听者去监听「模式切换的按钮」,当接收到用户的点击时,通知所有界面,启用另一套主题风格。因而,我们需要使用到监听模式,由于涉及到多个界面不同层次下的监听,我们自然而然会排除DelegateBlock」这两种监听模式,那么在非 Reactive 下,我们也只能使用通知中心这种监听模式了,但其实如果使用 Reactive ,会简单得特别多,代码质量也会高很多,而且当一个应用拥有几十个界面时,我们就不需要无止境的去移除监听者,也不需要担心因为某个界面忘了移除监听者而带来的崩溃问题,Reactive 中有一个自动移除监听者的功能,会帮我们处理好这些事情。

 

Demo 地址:  https://github.com/iJudson/RxReadingMode

posted @ 2019-04-03 14:28  sundayswift  阅读(96)  评论(0编辑  收藏  举报