Swift4 Xcode9无Storyboard/色轮下如何使用RGB颜色?
在Swift 4 & Xcode 9中使用自定义RGB颜色适配按钮与标签
没问题!在Swift 4和Xcode 9环境下,你可以通过UIColor的RGB初始化方法来设置自定义颜色,完全不需要依赖Storyboard,下面给你具体的实现方案:
1. 自定义RGB颜色的两种实现方式
方式一:直接使用UIColor原生初始化方法
注意这里的颜色值需要除以255.0,因为UIColor的RGB参数接受的是0.0到1.0之间的浮点数值,而我们日常常用的是0-255的颜色范围:
// 示例:设置自定义珊瑚色(RGB: 255, 127, 80,完全不透明) let customColor = UIColor(red: 255/255.0, green: 127/255.0, blue: 80/255.0, alpha: 1.0)
方式二:扩展UIColor简化调用(推荐)
如果需要多次使用自定义RGB颜色,给UIColor写个扩展会更方便,直接传入0-255的数值,不用每次手动做除法:
extension UIColor { convenience init(rgbRed: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat = 1.0) { self.init(red: rgbRed/255.0, green: green/255.0, blue: blue/255.0, alpha: alpha) } } // 使用时非常简洁: let customColor = UIColor(rgbRed: 255, green: 127, blue: 80)
2. 应用到按钮与标签
把自定义颜色直接赋值给按钮背景色和标签文本颜色即可:
// 设置按钮背景色 btn.backgroundColor = customColor // 设置标签文本颜色(假设你的标签实例是label) label.textColor = customColor
小补充
- 要是需要半透明效果,只需要调整
alpha参数就行,比如alpha: 0.5就是50%透明度的颜色 - 这个方案在Swift 4和Xcode 9下完全兼容,不会出现旧版本方法失效的问题
内容的提问来源于stack exchange,提问作者Larissa Efird
相关产品推荐
相关产品推荐

