美文网首页iOS在路上iOS进阶专栏iOS开发
暗黑模式(iOS多主题)完美设计实现

暗黑模式(iOS多主题)完美设计实现

作者: Tkoul | 来源:发表于2020-06-09 16:08 被阅读0次

    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

    对简书编辑器玩不转,有点丑!设计思想后续补上。

    相关文章

      网友评论

        本文标题:暗黑模式(iOS多主题)完美设计实现

        本文链接:https://www.haomeiwen.com/subject/urnstktx.html