iOS-夜间模式(换肤设置)
2017-11-20 09:20
621 查看
一、实现功能及主要思路
实现功能:iOS 开发中有时候会有夜间模式(换肤设置)的需求, 其实主要是更改相关颜色操作.每次切换夜间/白天模式时,都会发出通知给所有ViewController,让它们切换到相应的主题.
主要思路:
1. 创建一个管理模式主题的单例管理类ThemeManage
2. 封装好需要做夜间模式变色处理的控件扩展:UIView (ThemeChange), UINavigationBar (ThemeChange), UITabBar (ThemeChange), UILabel (ThemeChange), UIButton (ThemeChange)
3. 在 AppDelegate里先获取夜间模式状态, 根控制器里先设置tabBar 及 子控制器里navigationBar的夜间模式状态
4. 添加控制白天/黑夜模式item,发通知切换相对应i模式及image
5. 添加相关控件是否黑夜模式下已更换字色和背景色
二、程序实现
Step1. 创建一个管理模式主题的单例管理类ThemeManage.h 文件里添加模式管理单例:
单例的初始化:
一般需要UIView (ThemeChange), UINavigationBar (ThemeChange), UITabBar (ThemeChange), UILabel (ThemeChange), UIButton (ThemeChange);
详情见 Demo, 这里拿 UIView 做例子:
添加颜色状态枚举值 颜色的定义(一个代表一套):
三、项目截图及运行效果
项目截图:这时候测试下, 看下运行效果:
夜间模式对比截图:
四、其他补充
界面性问题可以根据自己项目需求调整即可, 具体可参考代码, 项目能够直接运行!如需看源码,请点击这里下载!
相关文章推荐
- iOS-夜间模式(换肤设置)
- iOS-夜间模式(换肤设置)
- iOS夜间模式,换肤,换字体样式
- iOS设置夜间模式
- iOS---设置控件的内容模式
- iOS Github最近很火的夜间模式
- UiModeManager设置夜间模式和行车模式
- 完整版的设置夜间模式
- 使用MultipleTheme设置夜间模式跳转时报InflateException: Binary XML file line #1: Binary XML file line #1
- iOS扬声器和听筒模式的切换以及距离传感器红外感应的设置
- 【iOS-Cocos2d游戏开发之八】开启高清(960*640)模式问题与解答、图片适配以及设置iphone横竖屏
- IOS 夜间模式(利用系统亮度)
- iOS代理模式设置方法
- iOS应用中通过设置VOIP模式实现休眠状态下socket的长连接
- 【iOS-开发】:delegate(委托、代理)模式的设置方法
- 安卓设置夜间模式和正常模式
- iOS: 如何在工程中设置 DEBUG 模式?
- 系统自带方法设置日间和夜间模式切换
- iOS: 如何在工程中设置 DEBUG 模式?
- iOS 夜间模式