Kha*_*inn 1 methods objective-c uicolor swift
在objective-c中,我们可以像这样编写用类方法调用颜色.
+ (UIColor *)getFromRGB:(int)red green:(int)green blue:(int)blue
{
float r = (float)red / 255;
float g = (float)green / 255;
float b = (float)blue / 255;
return [UIColor colorWithRed:r green:g blue:b alpha:1];
}
Run Code Online (Sandbox Code Playgroud)
然后,我们可以像这样打电话.
cell.backgroundColor = [Helpers getFromRGB:216 green:38 blue:56]
Run Code Online (Sandbox Code Playgroud)
在Swift中,我从中读取并称之为Type方法. https://developer.apple.com/library/prerelease/mac/documentation/Swift/Conceptual/Swift_Programming_Language/Methods.html
所以,我试着这样写.
class Helper
{
class func colorFromRGB (red: Int, green: Int, blue: Int) -> UIColor
{
var color: UIColor = UIColor(red: CGFloat(red/255), green: CGFloat(green/255), blue: CGFloat(blue/255), alpha: CGFloat(1.0))
return color
}
}
Run Code Online (Sandbox Code Playgroud)
但是当我调用Type方法时,我得到了这样的错误.我应该怎么做?

修改:也不能像那样打电话.之后,根据xCode自动建议,我没有像这样的红色参数这样写.然后,我可以编译,但我只能得到那样的黑色.我认为调用方法和颜色信息也错了.我该怎么办?


如果要对所有参数使用标签,可以使用" red red: ..."或只是" #red: ..." 指定第一个参数的标签:
class func colorFromRGB(#red: Int, green...
Run Code Online (Sandbox Code Playgroud)
或者您可以考虑使用扩展来定义自己的便利初始化程序:
extension UIColor {
convenience init(red: CGFloat, green: CGFloat, blue: CGFloat) {
self.init(red: red, green: green, blue: blue, alpha: 1)
}
}
Run Code Online (Sandbox Code Playgroud)
然后你可以直接打电话UIColor(red: ..., green: ..., blue: ...).
| 归档时间: |
|
| 查看次数: |
964 次 |
| 最近记录: |