一套實現夜間模式的簡單第三方:FYNight
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上的顏色就會改變, 添加請在最后添加
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!