swift 主题库

swift 主题库,第1张

概述ThemeStyleTools GitHub地址 这是一个更换主题的库,只支持更换一个主体颜色,依赖于RXSwift。由于更换主题的需求可能都是五花八门的,每个产品的想法也都有可能不同,有的需要更换tabbar的图片,或者导航栏的图片等等,想要做到完全的定制几乎是不可能的,只能根据项目具体的需求来定制。我同时也写了一份动态更换tabbar图标的demo,完全是模拟从服务器下载主题到本地,并进行更换 themeStyletools

GitHub地址

这是一个更换主题的库,只支持更换一个主体颜色,依赖于RXSwift。由于更换主题的需求可能都是五花八门的,每个产品的想法也都有可能不同,有的需要更换tabbar的图片,或者导航栏的图片等等,想要做到完全的定制几乎是不可能的,只能根据项目具体的需求来定制。我同时也写了一份动态更换tabbar图标的demo,完全是模拟从服务器下载主题到本地,并进行更换。 效果图

要求 iOS 8.0+ swift 3.0+ 使用方式
pod 'themeStyletools'
简介

1.在AppDelegate里面配置默认的主题色

themeStyletools.enable(defaulttheme: "#2F4F4F")

2.在切换主题色的地方更新主题

themeStyletools.updatetheme(themeStr: colorStr!)

3.使用

//修改UIVIEw的背景颜色 themeStyletools.cl_setupVIEwBackgroundcolor(vIEw: bgVIEw)//修改UILabel的文字颜色 themeStyletools.cl_setupVIEwLabelTextcolor(label: label)//UI@R_404_5554@文字颜色normalthemeStyletools.cl_setupBtnnormalTextcolor(btn: btn)//UI@R_404_5554@文字颜色selectedthemeStyletools.cl_setupBtnSelectedTextcolor(btn: btn)//UI@R_404_5554@图片颜色normal themeStyletools.cl_setupBtnnormalimgcolor(btn: btn)//UI@R_404_5554@图片颜色selectthemeStyletools.cl_setupBtnSelectimgcolor(btn: btn)//修改UIImageVIEw的图片颜色 themeStyletools.cl_setupImageVIEwcolor(img: bgVIEw)//修改UiSlider的颜色 themeStyletools.cl_setupSlIDercolor(slIDer: slIDer)//修改UIPageControl的颜色 themeStyletools.cl_setupPageControlcolor(page: page)//修改UIProgressVIEw的颜色 themeStyletools.cl_setupProgressVIEwlcolor(progress: progress)//修改UISwitch的颜色 themeStyletools.cl_setupSwitchVIEwlcolor(switchVIEw: switchVIEw) //修改UITextFIEld的文字颜色 themeStyletools.cl_setupTextFIEldTextcolor(textFIEld: textFIEld) //修改UISegmentedControl的颜色 themeStyletools.cl_setupSegmentControllcolor(segment: segment) //修改UITextVIEw的文字颜色 themeStyletools.cl_setupTextVIEwcolor(textVIEw: self.textVIEw)

4.在这个库中我将监听主题更换的类开放了出来,假如当app处于默认主题时我想让一个按钮的图片处于黑色状态,其他主题处于白色状态,可使用下面的方式

// 监听主题的更换,设置自己想要的颜色 ListeningthemeAdjuster.Listeningtheme.asObservable().subscribe(onNext: { (colorStr:String) in        if colorStr != "#2F4F4F" {            self.leftBtn.tintcolor = UIcolor.white            let img = self.leftBtn.image(for: .normal)?.withRenderingMode(.alwaystemplate)            self.leftBtn.setimage(img,for: .normal)        } else {            self.leftBtn.tintcolor = UIcolor.black            let img = self.leftBtn.image(for: .normal)?.withRenderingMode(.alwaystemplate)            self.leftBtn.setimage(img,for: .normal)        }    }).adddisposableto(disposeBag)

5.该库依赖于rxswift,截止目前RxSwift暂未更新到swift4.0,如果发现你的项目引入rxswift后报错,注意检查rxswift的编译版本
buildsettings(搜索Swift Language version) 将编译版本改为swift3.2,当然,如果以后支持了swift4.0,就可以忽略这一步了

总结

以上是内存溢出为你收集整理的swift 主题库全部内容,希望文章能够帮你解决swift 主题库所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1056640.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-25
下一篇2022-05-25

发表评论

登录后才能评论

评论列表(0条)

    保存