[英]Define custom colors Swift
我正在用Swift重寫我的應用程序(是的,萬歲),我遇到了以下問題:
我繼承了一個類,其定義是(.h)
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
@interface MWColor : NSObject
+ (UIColor *)gray;
+ (UIColor *)green;
+ (UIColor *)themeColor;
@end
在這里,我定義了顏色,我可以在整個項目中使用它們:
myView.backgroundColor = MWColor.gray()
現在,我想以適當的Swift方式做到這一點。
什么是最好的方法? 擴展?
幫助我成為一名優秀的斯威夫特公民
您可以在這樣的擴展中將計算顏色添加到UIColor
...
extension UIColor {
static var myRed: UIColor {
// define your color here
return UIColor(...)
}
}
甚至...
extension UIColor {
static let myRed = UIColor(... define the color values here ...)
}
然后訪問它...
let someColor: UIColor = .myRed
要么
let otherColor = UIColor.myRed
這與標准顏色的定義方式相匹配。
UIColor.red
UIColor.yellow
UIColor.myRed
等等...
可能有一千種不同的方法,但我使用以下擴展名:
extension UIColor {
convenience init(rgb: UInt) {
self.init(
red: CGFloat((rgb & 0xFF0000) >> 16) / 255.0,
green: CGFloat((rgb & 0x00FF00) >> 8) / 255.0,
blue: CGFloat(rgb & 0x0000FF) / 255.0,
alpha: CGFloat(1.0)
)
}
}
然后,您可以使用RGB顏色的常見HEX顏色代碼設置任何對象的顏色。 在這里快速找到HEX顏色: http : //www.color-hex.com/
view.backgroundColor = UIColor(rgb: 0xFF0000)
將backgroundColor視圖設置為紅色。
希望這可以幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.