swift - 对成员 'subscript' 的模糊引用

标签 swift uiimageview uicolor

当我尝试更改颜色时出现此错误:“对成员‘下标’的引用不明确”:

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/

相关文章:

ios - 错误 : Static member copyWithZone cannot be used on instance of type UIImageView

ios - Swift 中出现的 RGB 问题

ios - 设置 View 的背景颜色时如何避免平铺?

swift - 尽管为零,但闭包仍被执行

ios - 从后台返回后,AudioKit SynthOne崩溃

ios - swift 'Could not build Obj-C module ' 分支邀请'

objective-c - 如何使 UIView 可点击

ios - 在 UITableView Swift 中滚动时重复图像

swift - 如果日期等于数组中的日期(JTAppleCalendar),则突出显示日期

ios - UIColor 不适用于 RGBA 值