一套實現夜間模式的簡單第三方:FYNight

jopen 9年前發布 | 15K 次閱讀 FYNight iOS開發 移動開發

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.baiduhome.net/lib/view/home/1448204581035

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!