定义自定义颜色 Swift
Define custom colors Swift
我正在 Swift 中重写我的应用程序(是的,万岁)并且我 运行 变成了以下内容:
我继承了一个class,它的定义是(.h)
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
@interface MWColor : NSObject
+ (UIColor *)gray;
+ (UIColor *)green;
+ (UIColor *)themeColor;
@end
在这里,我定义了可以在整个项目中使用的颜色:
myView.backgroundColor = MWColor.gray()
现在,我想以适当的 Swift 方式进行此操作。
最好的方法是什么?扩展?
帮助我做一个好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颜色代码来设置任何对象的颜色。在这里快速找到十六进制颜色:http://www.color-hex.com/
view.backgroundColor = UIColor(rgb: 0xFF0000)
会将视图的背景颜色设置为红色。
希望对您有所帮助
我正在 Swift 中重写我的应用程序(是的,万岁)并且我 运行 变成了以下内容:
我继承了一个class,它的定义是(.h)
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
@interface MWColor : NSObject
+ (UIColor *)gray;
+ (UIColor *)green;
+ (UIColor *)themeColor;
@end
在这里,我定义了可以在整个项目中使用的颜色:
myView.backgroundColor = MWColor.gray()
现在,我想以适当的 Swift 方式进行此操作。
最好的方法是什么?扩展?
帮助我做一个好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颜色代码来设置任何对象的颜色。在这里快速找到十六进制颜色:http://www.color-hex.com/
view.backgroundColor = UIColor(rgb: 0xFF0000)
会将视图的背景颜色设置为红色。
希望对您有所帮助