Trong lập trình Swift, để tô màu cho chữ hoặc nút, ta dùng lệnh.
label.textColor = UIColor.blueColor()
Vấn đề là cách này chỉ có một số màu cơ bản, hãy để trỏ chuột
vào sau dấu chấm UIColor. và ấn Ctrl+Space bar để xem các màu xổ ra. Bạn sẽ thấy
không có nhiều màu lắm.
Nếu muốn màu khác, ta phải tự phối các yếu tố RGB như sau.
label.textColor = UIColor(red: 1, green: 0.4, blue: 1, alpha:
1)
Điều này sẽ mất thời gian hơn là dùng mã hex code.
Giả sử ta muốn dùng những mã hex code color đơn giản, kiểu
như
"#a1caf1", ta sẽ phải tạo một hàm riêng để dùng, hàm
đó như sau.
func hex (hex:String) -> UIColor {
var cString:String = hex.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet() as NSCharacterSet).uppercaseString
if (cString.hasPrefix("#")) {
cString = cString.substringFromIndex(cString.startIndex.advancedBy(1))
}
if ((cString.characters.count) != 6) {
return UIColor.grayColor()
}
var rgbValue:UInt32 = 0
NSScanner(string: cString).scanHexInt(&rgbValue)
return UIColor(
red: CGFloat((rgbValue & 0xFF0000) >> 16) / 255.0,
green: CGFloat((rgbValue & 0x00FF00) >> 8) / 255.0,
blue: CGFloat(rgbValue & 0x0000FF) / 255.0,
alpha: CGFloat(1.0)
)
}
Khi sử dụng, ta sẽ gọi như sau.
label.textColor = hex("#a1caf1")
view.backgroundColor = hex("#a1caf1")
Vậy là ta có thể cho bất cứ màu nào ta thích vào chữ hoặc nút bấm,
hoặc đổ màu nền cho view.