惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
小众软件
小众软件
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - Franky
Jina AI
Jina AI
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Y
Y Combinator Blog
V
Visual Studio Blog
C
Check Point Blog
阮一峰的网络日志
阮一峰的网络日志
U
Unit 42
量子位
人人都是产品经理
人人都是产品经理
博客园 - 聂微东
M
MIT News - Artificial intelligence
爱范儿
爱范儿
B
Blog RSS Feed
MyScale Blog
MyScale Blog
H
Help Net Security
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
美团技术团队
L
LangChain Blog
D
Docker

博客园 - 乱炖er

CSS/CSS3 Format/Optimize/Minify Tool 在线处理工具 android重复点击问题 macOS下生成pdf报错:No wkhtmltopdf executable found 错误:为 repo 'appstream' 下载元数据失败 : Cannot prepare internal mirrorlist: No URLs in mirrorlist Python爬虫'utf-8' codec can't decode byte 0xxx in position 1: invalid start byte的解决方案 fatal: unable to access 'https://github.com/xxx/': HTTP/2 stream 1 was not closed cleanly before end of the underlying stream Lombok requires enabled annotation processing: Do you want to enable annotation processors? visual studio code的markdown生成侧边栏目录 SpringBoot @Column SpringBoot2.6+单元测试 IDEA中SpringBoot热部署 Error: Another program is already listening on a port that one of our HTTP servers is configured to use. Shut this program down first before starting supervisord android studio右侧Gradle不显示Tasks PyCharm OSError: [Errno 48] Address already in use photoshop将png图片里的文字改成其他颜色 python json.dumps 中文编码问题 java.lang.RuntimeException: A TaskDescription's primary color should be opaque item2使用pem文件登陆 腾讯云服务器ssh登陆频繁断开链接的解决方案
[Swift]扩展UIColor:实现十六进制颜色字符串与UIColor之间的...
乱炖er · 2022-04-08 · via 博客园 - 乱炖er
import UIKit

extension UIColor {
    //使用rgb方式生成自定义颜色
    convenience init(_ r : CGFloat, _ g : CGFloat, _ b : CGFloat)
    {
        let red = r / 255.0
        let green = g / 255.0
        let blue = b / 255.0
        self.init(red: red, green: green, blue: blue, alpha: 1)
    }
     
    //使用rgba方式生成自定义颜色
    convenience init(_ r : CGFloat, _ g : CGFloat, _ b : CGFloat, _ a : CGFloat)
    {
        let red = r / 255.0
        let green = g / 255.0
        let blue = b / 255.0
        self.init(red: red, green: green, blue: blue, alpha: a)
    }
    //16进制生成自定义颜色
    class func hexColor(color: String, alpha: CGFloat) -> UIColor
    {
        var colorString = color.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines).uppercased()
        
        if colorString.count < 6 {
            return UIColor.clear
        }
        
        if colorString.hasPrefix("0x") {
            colorString = (colorString as NSString).substring(from: 2)
        }
        if colorString.hasPrefix("#") {
            colorString = (colorString as NSString).substring(from: 1)
        }
        
        if colorString.count < 6 {
            return UIColor.clear
        }
        
        var rang = NSRange()
        rang.location = 0
        rang.length = 2
        
        let rString = (colorString as NSString).substring(with: rang)
        rang.location = 2
        let gString = (colorString as NSString).substring(with: rang)
        rang.location = 4
        let bString = (colorString as NSString).substring(with: rang)
        
        var r:UInt64 = 0, g:UInt64 = 0,b: UInt64 = 0
        
        Scanner(string: rString).scanHexInt64(&r)
        Scanner(string: gString).scanHexInt64(&g)
        Scanner(string: bString).scanHexInt64(&b)
        
        return UIColor.init(CGFloat(r), CGFloat(g), CGFloat(b), alpha)
    }
    class func hexColor(color: String) -> UIColor{
        return hexColor(color: color, alpha: 1.0)
    }
}

使用方法

//RGB
UIColor(55, 186, 8)
UIColor(0x37, 0xba, 0x46)
 
//RGBA
UIColor(55, 186, 8, 0.5)
UIColor(0x37, 0xba, 0x46, 0.5)

UIColor.hexColor(color: "#808080", alpha: 1.0)
UIColor.hexColor(color: "#808080")