当我尝试更改颜色时出现此错误:“对成员‘下标’的引用不明确”:
struct color {
var r : Float
var g : Float
var b : Float
}
func setPixels(image:[color], pixel: Int) {
let alpha: Float = 1.0
let pixelView = view.viewWithTag(pixel) as! UIImageView
pixelView.backgroundColor = UIColor(
red: image[pixel].r, //Error: Ambiguous reference to member 'subscript'
green: image[pixel].g,
blue: image[pixel].b,
alpha: alpha)
}
最佳答案
Float 与 CGFloat 不同。您必须将 CGFloat 传递给 UIColor。注意:您应该以大写字母开头命名您的结构。
struct Color {
let r: CGFloat
let g: CGFloat
let b: CGFloat
}
class ViewController: UIViewController{
func setPixels(image: [Color], pixel: Int) {
let alpha: CGFloat = 1
let pixelView = view.viewWithTag(pixel) as! UIImageView
pixelView.backgroundColor = UIColor(
red: image[pixel].r,
green: image[pixel].g,
blue: image[pixel].b,
alpha: alpha
)
}
}
关于swift - 对成员 'subscript' 的模糊引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33402547/