gpt4 book ai didi

objective-c - 来自 Class 方法或 Type 方法的 SWIFT UIColor

转载 作者:搜寻专家 更新时间:2023-11-01 06:10:40 24 4
gpt4 key购买 nike

在objective-c中,我们可以这样写,用class方法调用color。

+ (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];
}

然后,我们就可以这样调用了。

cell.backgroundColor = [Helpers getFromRGB:216 green:38 blue:56]

在 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
}
}

但是当我调用那个 Type 方法时,我得到了这样的错误。我应该怎么做? enter image description here

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

enter image description here

enter image description here

最佳答案

如果你想为所有参数使用标签,你可以用“red red: ...”或者只是“#red: ...":

class func colorFromRGB(#red: Int, green...

或者您可以考虑使用扩展来定义您自己的便捷初始化器:

extension UIColor {
convenience init(red: CGFloat, green: CGFloat, blue: CGFloat) {
self.init(red: red, green: green, blue: blue, alpha: 1)
}
}

然后可以直接调用UIColor(red: ..., green: ..., blue: ...)

关于objective-c - 来自 Class 方法或 Type 方法的 SWIFT UIColor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24720026/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com