刮刮卡效果 Swift 3

Scratch Card effect in Swift 3

我正在尝试在 Swift 3 中为我的应用实现刮刮卡效果,我找到了一些示例,但它们在 Objective C (show scratch-card effect with the help of using scratch and win example)

本质上,用户用手指在图像上滑动,并在滑动时在手指下方显示另一个图像。

有人知道如何在 Swift 3 中执行此操作吗?非常感谢任何帮助

您可以使用 ScratchCard 库。它有简单的 API,但我不知道它是否与 Swift 3 兼容。不管怎样,你可以重写它或者检查它的实现。

检查这个 Swift 3 ScratchCardImageView

的例子

一个简单的 UIImageView 子类,让您的 UIImageView 成为刮刮卡。

我找到了符合您要求的图书馆。它与 Swift 3 兼容。 试试这个 SRScratchView

ScreenShot

 var lineType: CGLineCap = .round
 var lineWidth: CGFloat = 30.0

 func scrachBetween(fromPoint: CGPoint, currentPoint: CGPoint) {

        UIGraphicsBeginImageContext(self.frame.size)

        image?.draw(in: self.bounds)

        let path = CGMutablePath()
        path.move(to: fromPoint)
        path.addLine(to: currentPoint)

        let context = UIGraphicsGetCurrentContext()!
        context.setShouldAntialias(true)
        context.setLineCap(lineType)
        context.setLineWidth(lineWidth)
        context.setBlendMode(.clear)
        context.addPath(path)

        context.strokePath()

        image = UIGraphicsGetImageFromCurrentImageContext()


        UIGraphicsEndImageContext()
    }