Introduce:
ios暗黑模式,多主题多皮肤设计,用于解决在ios上实现可跟随系统主题变更,也可不跟随实现自定义主题模式设计。本sdk可以支持任意多个主题。开发习惯上极度契合ios开发习惯,对于复杂的主题设置类,均可使用对象的tkThemeChangeBlock进行回调设置变更。优势:
1.代码无侵入,轻量级SDK。上手简单。完美解决多任务后台主题即时变更,屏幕快照变更主体。
2.全局控制,效率极高。用hashmap的形式管理block指针对象,轻量。
3.一切OC对象皆tkThemeChangeBlock主题回调,根据主题的目前的索引变更主题。
4.常用的UIKit的组件,赋予主题属性,主题方法等。直接设置主题颜色、图片数组即可。完全契合系统设置属性,方法习惯。
5.设计原理完美,弱引用的形式回调,不会对项目产生内存泄漏,内存占用不释放问题。UIKit-View层即用即注册,跟随对象释放即销毁。主题回调block即用即注册,跟随对象释放即销毁。
move show
效果视频如下:(ps:没办法,简书只支持优酷/腾讯视频😀 没法去广告 想看大视频,点链接:https://v.youku.com/v_show/id_XNDcwNTcxODMwNA==.html)
iOSDarkDemo.mp4
How To Get Started
1.导入 pod 'TKThemeConfig'
2.在使用到的地方 #import <TKThemeConfig/TKThemeConfig.h>
程序加载完毕初始化
How To Usage
1.便捷用法
sdk封装可常见的view控件。对于这些常见的控件,比如CALayer,UIView,UIImageView,UIButton, UILabel等15个组件进行了贴合开发者的属性定制,在原属性上加前缀TKTheme。能满足80%以上的开发需求。 剩下的用万能方法即可。有时间功夫的小伙伴可以加入一起完善便捷用法哦。 示例如下: // UIButton like //UIImageView like //CALayer like 。其它的可自行看头文件
layer.tkThemebackgroundColors = @[UIColor.brownColor,UIColor.darkGrayColor];
[themeSeting setTkThemebackgroundColors:@[UIColor.redColor,UIColor.brownColor]];
[imageViewsetTkThemeimages:@[[UIImage imageNamed:@"001.jpg"],[UIImage imageNamed:@"002.jpg"]]];
2.万能用法
一切皆object对象,一切对象具备tkThemeChangeBlock(NSObject+TKUpdate.h),变更主题会触发 任意对象的tkThemeChangeBlock回调,可以在这个回调做主题设置。 本回调为主线程,进行UI主题变更,但是不要做耗时操作,耗时操作放到异步非主线程即可。 示例如下: //view.tkThemeChangeBlock //navigationBar.navigationBar
self.view.tkThemeChangeBlock= ^(id _Nullableitself,NSUIntegerthemeIndex) { //设置主题 }
self.navigationController.navigationBar.tkThemeChangeBlock = ^(id _Nullable itself, NSUInteger themeIndex) { //设置主题 }
项目地址:https://github.com/Tkoul/TKThemeConfig
本文为原创,啃了几天泡面搞出来的。转载注明出处。喜欢的给个小星星。对不足的地方,可以一起交流,提升。邮件:Tkoull@163.com
对简书编辑器玩不转,有点丑!设计思想后续补上。
网友评论