美文网首页
iOS颜色,主题那些事

iOS颜色,主题那些事

作者: DevKyle | 来源:发表于2018-01-14 20:38 被阅读103次

    颜色管理

    颜色是一个app展示的基础,每一个成熟的app都该有自己的设计风格。为了规范颜色,通过枚举来来管理颜色。为了切换主题,采用不同枚举对应多个颜色。可以编辑TCColorConfig.swift 来编辑设置默认配色方案 ,也可以通过ThemeManager.sharedManager.setThemeColorList动态设置配色方案。
    需要注意的是TCColorName个数要和kDefaultColorList的个数需要一一对应。主题的个数ThemeType要和kDefaultColorList每个元素的个数一致。

    // 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
    }
    

    功能

    颜色

    提供了十六进制,根据枚举TCColorName来设置颜色的方法

    UIView

    1. tc_themeBlock :是一个主题切换的block,不止可以处理颜色的变化。还可以设置一切和UIView相关的属性。
    2. tc_backgroundColor :当主题切换,可以用来设置UIView背景色
    3. tc_borderColor设置layer borderColor

    UILabel Extension

    1. tc_textColorUILabel字体颜色
    2. tc_highlightedTextColorUILabel 高亮字体颜色

    UIImageView

    UIImageView 在主题切换中需要不同的图片,所以需要对图片的命名采取一定的规范,通过
    ThemeManager.sharedManager.setThemeImagePrefix 命名规范,比如["","night"],那么"themeImage"
    对应的主题图片名字为"night_themeImage"。提供两种方式来设置主题图片如下

    1. tc_imageName 设置默认主题下的图片名

    对于纯色的图片 还提供对图片进行着色的方法
    func set_imageName(_ imageName:String?,nightTintColor tintColor:TCColorName?)

    UIButton

    UIButton具有多个状态,对于图片

    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)

    安装

    推荐 直接拖动文件到工程文件下 ,当然也支持CocoaPods

    CocoaPods

    use_frameworks!
    pod 'ThemeColor'
    

    Source files

    复制"ThemeColor" 文件夹中所有的文件到你的工程中去

    配置

    编辑 TCColorConfig.swift 文件

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

    ThemeColor

    相关文章

      网友评论

          本文标题:iOS颜色,主题那些事

          本文链接:https://www.haomeiwen.com/subject/madloxtx.html