我需要显示刮痕后的 iPne 应用程序的刮痕卡效果,如果优惠券号码是可见的,我需要显示警告消息我怎么能做到这一点?.i 已经从 iPne - Scratch and Win Example下载示例代码,我也做了显示下面的屏幕和划痕也工作正常
如果 UILabel 文本可见,我想显示警报消息我该怎么做?
i have attached screen st for your refference
我发现非常好的 Github 的例子,请看看这个和 impliment 作为 par 你需要希望这有助于你我的 Frnd。
CGScratch这与您要应用的内容相同。
检查代码并检查可见区域其他检查 che scration overImage 是否完全删除如果删除则显示警报。
一个简单的UIImageView
子类,允许您的UIImageView
成为刮刮卡。
在storyboard
或xib
中,将表示您的暂存图像的UIImageView
的自定义类设置为ScratchCardImageView
。更改lineType
或lineWidth
以更改暂存线的外观。
import UIKit
cl ScratchCardImageView: UIImageView {
private var lastPoint: CGPoint?
var lineType: CGLineCap = .square
var lineWidth: CGFloat = 20.0
override func awakeFromNib() {
super.awakeFromNib()
isUserInteractionEnabled = true
}
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
guard let touch = touches.first else {
return
}
lastPoint = touch.location(in: self)
}
override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
guard let touch = touches.first, let point = lastPoint else {
return
}
let currentLocation = touch.location(in: self)
eraseBetween(fromPoint: point, currentPoint: currentLocation)
lastPoint = currentLocation
}
func eraseBetween(fromPoint: CGPoint, currentPoint: CGPoint) {
UIGraphicsBeginImageContext(self.frame.size)
image?.draw(in: self.bounds)
let path = CutablePath()
path.move(to: fromPoint)
path.addLine(to: currentPoint)
let context = UIGraphicsGetCurrentContext()!
context.setSuldAntialias(true)
context.setLineCap(lineType)
context.setLineWidth(lineWidth)
context.setBlendMode(.clear)
context.addPath(path)
context.strokePath()
image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
}
}
Updated
使用此解决方案,将仅在UIImageView
边界内跟踪触摸事件。如果您需要在刮刮卡之外启动触摸事件,请参阅ScratchCardTouchContainer示例
你也可以检查这个 github 教程的划痕:
https://github.com/SebastienThiebaud/STScratchView https://github.com/moqod/iOS-Scratch-n-See本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(20条)