iOS swift3.0 刮刮乐效果(刮图层效果,抽奖效果)实现

最近完成了刮刮乐功能,用的swift3.0语言,特此把代码分享出来。

    // 刮奖  实现刮刮乐效果
    override func touchesMoved(_ touches: Set, with event: UIEvent?) {
        // 触摸任意位置
        let touch:UITouch =  (touches as NSSet).anyObject() as! UITouch
        // 触摸位置在图片上的坐标
        let cententPoint:CGPoint = touch.location(in: self.imageTuceng)
        // 设置清除点的大小
        let rect = CGRect.init(x: cententPoint.x, y: cententPoint.y, width: 20, height: 20)
        // 默认是去创建一个透明的视图
        UIGraphicsBeginImageContextWithOptions(self.imageTuceng.bounds.size, false, 0)
        // 获取上下文(画板)
        let ref = UIGraphicsGetCurrentContext()
        // 把imageView的layer映射到上下文中
        self.imageTuceng.layer.render(in: ref!)
        // 清除划过的区域
        ref?.clear(rect)
        // 获取图片
        let image  = UIGraphicsGetImageFromCurrentImageContext()
        // 结束图片的画板, (意味着图片在上下文中消失)
        self.imageTuceng.image = image
    }

你可能感兴趣的:(iOS swift3.0 刮刮乐效果(刮图层效果,抽奖效果)实现)