一套实现夜间模式的简单第三方:FYNight

jopen 9年前

FYNight

一套实现夜间模式的简单第三方

夜间模式的使用方式

使用前的设置:

1-- pch文件的设置:

  • 在build Settings中搜索header, 找到Apple LLVM 7.0 - Language 下面的Prefix Header. 在后面设置: '$(SRCROOT)/夜间/Night/PrefixHeader.pch' 夜间: 工程名称

2—设置UIView+RemoveNotifition 为MRC

  • 在 Build Phases 下的Compile Sources找到UIView+RemoveNotifition, 设置其为 '<-fno-objc-arc.>'

背景颜色的设置

  • 1—在AppDelegate中首先设置是否是夜间模式(这里使用的是NSUserDefaults) [ThemeManage shareThemeManage].isNight = [[NSUserDefaults standardUserDefaults] boolForKey:@"night"];

  • 2—为每一个控件设置颜色调用NightWithType方法 [控件 NightWithType:UIViewColorTypeNormal];

  • 3—模式切换方法 //改变单例中的isNight [ThemeManage shareThemeManage].isNight = ![ThemeManage shareThemeManage].isNight; //发送改变颜色通知 [[NSNotificationCenter defaultCenter] postNotificationName:@"changeColor" object:nil]; //修改沙盒信息 [[NSUserDefaults standardUserDefaults] setBool:[ThemeManage shareThemeManage].isNight forKey:@"night"];

Label中字体颜色的设置 [label NightTextType:LabelColorGray];

夜间模式颜色的自定义

背景颜色的自定义

  • 1— 在ThemeManage中设置需要添加的颜色例如: @property(nonatomic, retain)UIColor *color2;
  • 2— 在.m中设置对应的属性, 设置白天和夜间模式对应的颜色
  • 3— 在UIView+ThemeChange中添加对应的颜色类型在UIViewColorType的枚举中添加UIViewColorType2

这样就可以使用UIViewColorType2了.

UILabel字体颜色的自定义

  • 前两步与上面的一致
  • 3— 在UILabel+ThemeChange中添加对应的颜色属性注意: LabelColorBlack一定要放在第一个, 不用动, 这是系统默认的颜色,如果你修改后, label以及button上的颜色就会改变, 添加请在最后添加

项目主页:http://www.open-open.com/lib/view/home/1448204581035