1. cocoapods安裝hue
pod "hue"
2. 匯入框架import hue
3. 將十六進製制數字變成對應的顏色值let color = uicolor.init(hex: "#dddddd")
4. 顏色轉顏色值let hex1 = uicolor.red.hex(true) /// 將顏色轉為十六進製制,前面有#號
let hex2 = uicolor.red.hex(false) /// 將顏色轉為十六進製制,前面沒有#號
let red = uicolor.red.redcomponent /// 獲取顏色中紅色的色值,0-1
let green = uicolor.red.greencomponent /// 獲取顏色中綠色的色值,0-1
let blue = uicolor.red.bluecomponent /// 獲取顏色中藍色的色值,0-1
let alpla = uicolor.red.alphacomponent /// 獲取顏色的透明度,0-1
5. 區別顏色的深淺let isdark = uicolor.red.isdark /// 是否是暗色的
let iswhite = uicolor.red.iswhite /// 是否是白色的,或者接近白色
let isblack = uicolor.red.isblack /// 是否是黑色,或者接近黑色
let isblackorwhite = uicolor.red.isblackorwhite /// 是否是白色或黑色,或者接近白色或黑色
注意:這幾個方法依賴於hue以下方法internal func rgbcomponents() -> [cgfloat]
,但是這個方法中的guard語法判斷是有一點失誤的,不知道是swift4.0更新的原因還是編寫時的失誤,let rgb = cgcolor.components
這個語句獲取的rgb陣列個數是4,[r,g,b,a],三基色與透明度,但是在這個方法中的guard判斷中是根據rgb.count == 3
判斷的,這樣就會導致這個方法返回值一直是[0,0,0],這樣就會導致判斷失誤,總是在判斷是否是黑色,解決方法是將rgb.count == 3
改為rgb.count == 4
6. 判斷兩個顏色是否類似(相近)
/// 一種顏色是否不同於另一種顏色,有明顯差異
let isdistinctfrom = uicolor.red.isdistinctfrom(uicolor.red)
/// 兩種顏色形成對比,相差較大
let iscontrasting = uicolor.red.iscontrastingwith(uicolor.red)
7. 設定漸變顏色let gradient = [uicolor.red, uicolor.yellow, uicolor.blue,uicolor.green].gradient
view.layer.addsublayer(gradient) /// 將漸變圖層新增到檢視上
8. 顏色混合/// 給顏色增加指定色調與透明度
////// - parameters:
/// - hue: 需要增加的色調,不是最終的色調
/// - saturation: 需要增加的飽和度,不是最終的飽和度
/// - brightness: 需要增加的亮度,不是最終的亮度
/// - alpha: 需要增加的透明度,不是最終的透明度
/// - returns: 新增色調之後的顏色
public func addhue(_ hue: cgfloat, saturation: cgfloat, brightness: cgfloat, alpha: cgfloat) -> uicolor
/// 將一種顏色的色調增加到另一種顏色中,不包含透明度
////// - parameter color: 需要新增到另一種顏色中的顏色
/// - returns: 混合之後的顏色
public func addhsb(color: uicolor) -> uicolor
/// 將一種顏色的色調增加到另一種顏色中,包含透明度
////// - parameter color: 需要新增到另一種顏色中的顏色
/// - returns: 混合之後的顏色
public func addhsba(color: uicolor) -> uicolor
/// 給顏色增加三基色與透明度
////// - parameters:
/// - red: 增加紅色色值,並非最終的紅色色值
/// - green: 增加綠色色值,並非最終的綠色色值
/// - blue: 增加藍色色值,並非最終的藍色色值
/// - alpha: 增加的透明度,並非最終的透明度
/// - returns: 增加三基色之後的顏色
public func addred(_ red: cgfloat, green: cgfloat, blue: cgfloat, alpha: cgfloat) -> uicolor
/// 將一種顏色的色值增加到另一種顏色中,不包含透明度
////// - parameter color: 需要新增到另一種顏色中的顏色
/// - returns: 混合之後的顏色
public func addrgb(color: uicolor) -> uicolor
/// 將一種顏色的色值增加到另一種顏色中,包含透明度
////// - parameter color: 需要新增到另一種顏色中的顏色
/// - returns: 混合之後的顏色
public func addrgba(_ color: uicolor) -> uicolor
public func colors(_ scaledownsize: cgsize? = nil) -> (background: uicolor, primary: uicolor, secondary: uicolor, detail: uicolor)
/// 示例
let colors = uiimage.init().colors() /// 獲取相關顏色的元組
let bgcolor = colors.background /// 背景顏色
let primary = colors.primary /// 主要顏色
let secondary = colors.secondary /// 次要顏色
let detail = colors.detail /// 細節顏色
let color = colors.background.color(at: cgpoint.init(x: 0, y: 0)) /// 獲取指定座標位置的顏色
stylus css 框架使用方法
stylus是一款需要編譯的css語言,所以其本身檔案不能被html直接呼叫,需要要編譯為css檔案後再進行日常的載入。stylus是一款優秀的css編譯語言,需要node.js支援,第一步需要安裝node.js 問題 windows除錯時ctrl d無效果 ctrl c退出?怎樣直接在window...
集合框架的使用方法
list與set都是介面collection的子介面,collection源 中有一些幫助實現基本的訪問操作的抽象方法,主要有add addall iterator remove size 在collection的子介面list set以及子類arraylist linkedlist vector ...
dubbo框架的使用方法。。。
一 dubbo使用須知。1.所有的service層必須要使用service註解 之前用的spring框架的,現在用dubbo框架所提供的 service註解 service timeout 單位是秒 2.在配置dubbo埠號的時候 只是provider專案和consumer專案直接資料通訊的時候所必...