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

作者 : 开心源码 本文共1649个字,预计阅读时间需要5分钟 发布时间: 2022-05-13 共160人阅读

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) { //设置主题  }

项目地址: Tkoul/TKThemeConfig

本文为原创,啃了几天泡面搞出来的。转载注明出处。喜欢的给个小星星。对不足的地方,可以一起交流,提升。邮件:Tkoull@163.com

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

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 暗黑模式(iOS多主题)完美设计实现

发表回复