顏色管理
顏色是一個(gè)app展示的基礎(chǔ)恍风,每一個(gè)成熟的app都該有自己的設(shè)計(jì)風(fēng)格。為了規(guī)范顏色磨总,通過枚舉來來管理顏色嗦明。為了切換主題,采用不同枚舉對應(yīng)多個(gè)顏色舍败≌欣辏可以編輯TCColorConfig.swift 來編輯設(shè)置默認(rèn)配色方案 敬拓,也可以通過ThemeManager.sharedManager.setThemeColorList
動態(tài)設(shè)置配色方案。
需要注意的是TCColorName
個(gè)數(shù)要和kDefaultColorList的個(gè)數(shù)需要一一對應(yīng)裙戏。主題的個(gè)數(shù)ThemeType
要和kDefaultColorList
每個(gè)元素的個(gè)數(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ìn)制,根據(jù)枚舉TCColorName來設(shè)置顏色的方法
UIView
-
tc_themeBlock
:是一個(gè)主題切換的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)主題下的圖片名
對于純色的圖片 還提供對圖片進(jìn)行著色的方法
func set_imageName(_ imageName:String?,nightTintColor tintColor:TCColorName?)
UIButton
UIButton
具有多個(gè)狀態(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一下