顏色管理
顏色是一個app展示的基礎(chǔ),每一個成熟的app都該有自己的設(shè)計風(fēng)格。為了規(guī)范顏色,通過枚舉來來管理顏色。為了切換主題,采用不同枚舉對應(yīng)多個顏色??梢跃庉婽CColorConfig.swift 來編輯設(shè)置默認(rèn)配色方案 ,也可以通過ThemeManager.sharedManager.setThemeColorList動態(tài)設(shè)置配色方案。
需要注意的是TCColorName個數(shù)要和kDefaultColorList的個數(shù)需要一一對應(yīng)。主題的個數(shù)ThemeType要和kDefaultColorList每個元素的個數(shù)一致。
// default work with kDefaultColorList
public enum TCColorName:Int {
case ColorNameRed = 0
case ColorNameBlue
}
let kDefaultColorList:[[String]] = [
[ "ee1a1a", "892323"],
[ "1b88ee", "144e84"]
]
public enum ThemeType:Int {
case themeDay = 0
case themeNight
}
功能
顏色
提供了十六進制,根據(jù)枚舉TCColorName來設(shè)置顏色的方法
UIView
-
tc_themeBlock:是一個主題切換的block,不止可以處理顏色的變化。還可以設(shè)置一切和UIView相關(guān)的屬性。 -
tc_backgroundColor:當(dāng)主題切換,可以用來設(shè)置UIView背景色 -
tc_borderColor設(shè)置layerborderColor
UILabel Extension
-
tc_textColor的UILabel字體顏色 -
tc_highlightedTextColor的UILabel高亮字體顏色
UIImageView
UIImageView 在主題切換中需要不同的圖片,所以需要對圖片的命名采取一定的規(guī)范,通過
ThemeManager.sharedManager.setThemeImagePrefix 命名規(guī)范,比如["","night"],那么"themeImage"
對應(yīng)的主題圖片名字為"night_themeImage"。提供兩種方式來設(shè)置主題圖片如下
-
tc_imageName設(shè)置默認(rèn)主題下的圖片名
對于純色的圖片 還提供對圖片進行著色的方法
func set_imageName(_ imageName:String?,nightTintColor tintColor:TCColorName?)
UIButton
UIButton具有多個狀態(tài),對于圖片
func tc_setImage(_ imageName: String?, for state: UIControlState)func tc_setImage(_ imageName: String?, tintColor:TCColorName?,for state: UIControlState)
對于UIButton的字體顏色提供
func tc_setTitleColor(_ color: TCColorName?, for state: UIControlState)func tc_setTitleShadowColor(_ color: TCColorName?, for state: UIControlState)
安裝
推薦 直接拖動文件到工程文件下 ,當(dāng)然也支持CocoaPods
CocoaPods
use_frameworks!
pod 'ThemeColor'
Source files
復(fù)制"ThemeColor" 文件夾中所有的文件到你的工程中去
配置
編輯 TCColorConfig.swift 文件
喜歡的朋友,可以去GitHub上star一下