第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用十六進制顏色值

如何使用十六進制顏色值

幕布斯6054654 2019-07-19 10:14:21
如何使用十六進制顏色值我試圖在SWIFT中使用十六進制顏色值,而不是少數標準值UIColor允許你使用,但我不知道怎么做。示例:我將如何使用#ffffff作為一種顏色?
查看完整描述

3 回答

?
大話西游666

TA貢獻1817條經驗 獲得超14個贊

#ffffff實際上是三種顏色組成的十六進制表示法-紅色。ffff藍色ff..您可以使用SWIFT編寫十六進制表示法0x前綴,例如0xFF

為了簡化轉換,讓我們創(chuàng)建一個接受整數(0-255)值的初始化器:

extension UIColor {
   convenience init(red: Int, green: Int, blue: Int) {
       assert(red >= 0 && red <= 255, "Invalid red component")
       assert(green >= 0 && green <= 255, "Invalid green component")
       assert(blue >= 0 && blue <= 255, "Invalid blue component")

       self.init(red: CGFloat(red) / 255.0, green: CGFloat(green) / 255.0, blue: CGFloat(blue) / 255.0, alpha: 1.0)
   }

   convenience init(rgb: Int) {
       self.init(
           red: (rgb >> 16) & 0xFF,
           green: (rgb >> 8) & 0xFF,
           blue: rgb & 0xFF
       )
   }}

用法:

let color = UIColor(red: 0xFF, green: 0xFF, blue: 0xFF)let color2 = UIColor(rgb: 0xFFFFFF)

怎么得到阿爾法?

根據用例的不同,您可以簡單地使用本機UIColor.withAlphaComponent方法,如:

let semitransparentBlack = UIColor(rgb: 0x000000).withAlphaComponent(0.5)

也可以向上述方法添加附加(可選)參數:

convenience init(red: Int, green: Int, blue: Int, a: CGFloat = 1.0) {
    self.init(
        red: CGFloat(red) / 255.0,
        green: CGFloat(green) / 255.0,
        blue: CGFloat(blue) / 255.0,
        alpha: a    )}convenience init(rgb: Int, a: CGFloat = 1.0) {
    self.init(
        red: (rgb >> 16) & 0xFF,
        green: (rgb >> 8) & 0xFF,
        blue: rgb & 0xFF,
        a: a    )}

(我們不能命名參數alpha因為名稱與現有的初始化程序發(fā)生沖突)。

稱為:

let color = UIColor(red: 0xFF, green: 0xFF, blue: 0xFF, a: 0.5)let color2 = UIColor(rgb: 0xFFFFFF, a: 0.5)

要將alpha作為整數0-255,我們可以

convenience init(red: Int, green: Int, blue: Int, a: Int = 0xFF) {
    self.init(
        red: CGFloat(red) / 255.0,
        green: CGFloat(green) / 255.0,
        blue: CGFloat(blue) / 255.0,
        alpha: CGFloat(a) / 255.0
    )}// let's suppose alpha is the first component (ARGB)convenience init(argb: Int) {
    self.init(
        red: (argb >> 16) & 0xFF,
        green: (argb >> 8) & 0xFF,
        blue: argb & 0xFF,
        a: (argb >> 24) & 0xFF
    )}

被稱為

let color = UIColor(red: 0xFF, green: 0xFF, blue: 0xFF, a: 0xFF)let color2 = UIColor(argb: 0xFFFFFFFF)

或者是前幾種方法的組合。絕對沒有必要使用字符串。


查看完整回答
反對 回復 2019-07-19
  • 3 回答
  • 0 關注
  • 918 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號