刮刮卡效果 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()
}
我正在尝试在 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()
}