创建一个蒙面的UIView

时间:2017-05-30 15:37:34

标签: ios swift

我正在尝试做一些我认为可行的事情,但不知道如何开始。

我创建了一个UIView,并希望它用颜色填充,但是在图像蒙版定义的形状中。即我有一个带alpha的PNG,我希望我创建的UIView是PNG形状的UIColor.blue。

为了表明我是多么愚蠢,这是我迄今为止尝试过的绝对垃圾 - 尝试生成一个简单的方块甚至对我都不起作用,因此它都被注释掉了。

let rocketColourList: [UIColor] = [UIColor.blue, UIColor.red, UIColor.green, UIColor.purple, UIColor.orange]
    var rocketColourNum: Int = 0
    var rocketAngleNum: Int = 0
    var rocketAngle: Double {
        return Double(rocketAngleNum) * Double.pi / 4
    }
   var rocketColour = UIColor.black
    public func drawRocket (){
        rocketColour.set()
        self.clipsToBounds = true
        self.backgroundColor = UIColor.red
        imageView.image = UIImage(named: ("rocketMask"))
        addSubview(imageView)
        //maskimage.frame = self.frame
        //let someRect = CGRect (x: 1, y: 1, width: 1000, height: 1000)
        //let someRect = CGRect (self.frame)
        //let fillPath = UIBezierPath(rect:someRect)
        //fillPath.fill()
        //setNeedsDisplay()

    }
}

1 个答案:

答案 0 :(得分:1)

将图像设置为模板,然后为UIImageView设置色调颜色。这样的事情:

guard let let image = UIImage(named: "rocketMask")?.withRenderingMode(.alwaysTemplate) else { return }
imageView.image = image
imageView.tintColor = .blue

您也可以通过图片资源执行此操作: enter image description here