iOS顏色,主題那些事

顏色管理

顏色是一個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

  1. tc_themeBlock :是一個主題切換的block,不止可以處理顏色的變化。還可以設(shè)置一切和UIView相關(guān)的屬性。
  2. tc_backgroundColor :當(dāng)主題切換,可以用來設(shè)置UIView背景色
  3. tc_borderColor設(shè)置layer borderColor

UILabel Extension

  1. tc_textColorUILabel字體顏色
  2. tc_highlightedTextColorUILabel 高亮字體顏色

UIImageView

UIImageView 在主題切換中需要不同的圖片,所以需要對圖片的命名采取一定的規(guī)范,通過
ThemeManager.sharedManager.setThemeImagePrefix 命名規(guī)范,比如["","night"],那么"themeImage"
對應(yīng)的主題圖片名字為"night_themeImage"。提供兩種方式來設(shè)置主題圖片如下

  1. tc_imageName 設(shè)置默認(rèn)主題下的圖片名

對于純色的圖片 還提供對圖片進行著色的方法
func set_imageName(_ imageName:String?,nightTintColor tintColor:TCColorName?)

UIButton

UIButton具有多個狀態(tài),對于圖片

  1. func tc_setImage(_ imageName: String?, for state: UIControlState)
  2. func tc_setImage(_ imageName: String?, tintColor:TCColorName?,for state: UIControlState)

對于UIButton的字體顏色提供

  1. func tc_setTitleColor(_ color: TCColorName?, for state: UIControlState)
  2. func tc_setTitleShadowColor(_ color: TCColorName?, for state: UIControlState)

安裝

推薦 直接拖動文件到工程文件下 ,當(dāng)然也支持CocoaPods

CocoaPods

use_frameworks!
pod 'ThemeColor'

Source files

復(fù)制"ThemeColor" 文件夾中所有的文件到你的工程中去

配置

編輯 TCColorConfig.swift 文件

喜歡的朋友,可以去GitHub上star一下

ThemeColor

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一:OC基礎(chǔ)語法1 //整型 NSInteger a =10; //NSLog是OC里面的打印函數(shù) NSLog(@...
    library閱讀 469評論 0 3
  • 1.oc基本語法 // // main.m // oc基本語法 // // Created by lanou on...
    GOT_HODOR閱讀 557評論 0 0
  • 一、簡介 <<UIButton(按鈕) : 既能顯示文字,又能顯示圖片,還能隨時調(diào)整內(nèi)部圖片和文字的位置,實現(xiàn)了監(jiān)...
    無邪8閱讀 5,780評論 0 2
  • 一個UIButton的實例變量, 使一個按鈕(button)在觸摸屏上生效。一個按鈕監(jiān)聽觸摸事件,當(dāng)被點擊時,給目...
    wushuputi閱讀 1,656評論 0 1
  • 古訓(xùn):低調(diào)是修養(yǎng),沉靜是智慧,隨和是境界 低調(diào)是修養(yǎng) 低,是一種清凈內(nèi)斂,是人生必須擺正的一種穩(wěn)重姿態(tài),必須按捺的...
    健國閱讀 379評論 0 0

友情鏈接更多精彩內(nèi)容