Ios Swift 3中的刮卡效果
我正在尝试为我的应用程序在Swift 3中实现刮刮卡效果,我找到了一些示例,但它们在目标C()上 本质上,用户用手指在图像上滑动,并在滑动时在其手指下方显示另一个图像Ios Swift 3中的刮卡效果,ios,swift,xcode,core-graphics,Ios,Swift,Xcode,Core Graphics,我正在尝试为我的应用程序在Swift 3中实现刮刮卡效果,我找到了一些示例,但它们在目标C()上 本质上,用户用手指在图像上滑动,并在滑动时在其手指下方显示另一个图像 有人知道如何在Swift 3中做到这一点吗?非常感谢任何帮助您可以使用该库。它有简单的API,但我不知道它是否兼容Swift 3。无论如何,您可以重写它或检查它的实现。您可以使用库。它有简单的API,但我不知道它是否兼容Swift 3。无论如何,您可以重写它或检查它的实现。检查此Swift 3示例 一个简单的UIImageView
有人知道如何在Swift 3中做到这一点吗?非常感谢任何帮助您可以使用该库。它有简单的API,但我不知道它是否兼容Swift 3。无论如何,您可以重写它或检查它的实现。您可以使用库。它有简单的API,但我不知道它是否兼容Swift 3。无论如何,您可以重写它或检查它的实现。检查此Swift 3示例 一个简单的
UIImageView
子类,它允许您的UIImageView
成为一张临时卡片
检查此Swift 3示例 一个简单的
UIImageView
子类,它允许您的UIImageView
成为一张临时卡片
我找到了一个适合您要求的库。它与Swift 3兼容。 试试这个
我找到了一个适合你要求的图书馆。它与Swift 3兼容。 试试这个
谢谢你,先生!我现在正在尝试,所以我运行了它,XCODE将它转换为Swift 3,但当我按下“播放”按钮时它将不会运行(它说“构建成功,没有错误,但没有发生任何事情/没有打开模拟器”),它也缺少资源(图像之前/之后)并且没有故事板文件。我是一个编程新手,有没有关于我从头重写它需要采取的基本步骤的提示,要使用哪些故事板工具以及哪些类/函数?再次感谢,这个库没有示例项目。您可以使用单视图应用程序模板创建新项目,并手动添加<代码>ScratchUIView.swift和ScratchView.swift到您的项目中。然后您可以像这样添加ScratchView:let scratchCardView=ScratchUIView(框架:CGRectMake(50,80,320,480),优惠券:“优惠券图像”,MaskImage:“蒙版图像”,ScratchWidth:CGFloat(40))self.view.addSubview(scratchCardView)此scratch视图只有
getAlphaPixelPercent()
函数。您可以添加委托或块来捕获百分比变化。谢谢您,先生!我现在正在尝试,所以我运行了它,XCODE将它转换为Swift 3,但当我按下“播放”按钮时它将不会运行(它显示“构建成功,没有错误,但没有发生任何事情/没有打开模拟器”),它还缺少资源(图像之前/之后),并且没有故事板文件。我是一个编程新手,有没有关于我从头重写它需要采取的基本步骤的提示,要使用哪些脚本工具以及哪些类/函数?再次感谢,此库没有示例项目。您可以使用单视图应用程序模板创建新项目,并手动将ScratchUIView.swift
和ScratchView.swift
添加到项目中。然后你可以像这样添加scratchCardView=ScratchUIView(frame:CGRectMake(50,80,320,480),优惠券:“优惠券图像”,MaskImage:“蒙版图像”,ScratchWidth:CGFloat(40))self.view.addSubview(scratchCardView)这个ScratchView只有getAlphaPixelPercent()
函数。您可以添加代理或块以捕获百分比的变化。非常感谢-我将查看它非常感谢-我将查看它
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()
}