GLScratchCard
I loved the way payments app's like Google pay and PhonePe used scratch card option to reward it's user. Hence with yellow_heart cloned the same scratch card effect for you guys out there.
Example
To run the example project, clone the repo, and run pod install
from the Example directory first.
Requirements
GLScratchCard
XCode 10 and Swift 4.2. With deployment target 11.0
.
Installation
Cocoapods
GLScratchCard
is available through CocoaPods. To install
it, simply add the following line to your Podfile:
pod 'GLScratchCard'
Manual
Copy the files from ~/Pods/DevelopmentPods/GLScratchCard/ to your project.
User Guide
Basic Usage
let controller = GLScratchCardController()
controller.scratchCardView.addDelegate(delegate: self)
controller.scratchCardView.bottomLayerView = UIImageView(image: UIImage(named: "cash_back"))
controller.scratchCardView.topLayerImage = UIImage(named:"scratch_image")!
controller.presentScratchController()
Break Down
let controller = GLScratchCardController()
Setting up Components
Titles to be shown initilly, before scratch starts
controller.scratchCardView.doneButtonTitle = "Gift to a friend"
controller.scratchCardView.scratchCardTitle = "Earn up to ₹1,0000"
controller.scratchCardView.scratchCardSubTitle = "From Google Pay \nEarned for paying \nGokul"
Title to be show after scratch ends,
controller.scratchCardView.afterScratchDoneButtonTitle = "Done"
controller.scratchCardView.afterScratchTitle = "Woohoo!"
controller.scratchCardView.afterScratchSubTitle = "Expect payment within a weak."
Top layer image view,
controller.scratchCardView.topLayerImage = UIImage(named:"scratch_image")!
Bottom layer image view (one that will be reviled after scratching ends),
controller.scratchCardView.bottomLayerView = UIImageView(image: UIImage(named: "cash_back"))
Can customise scratch size and shape (.round, .square, .butt),
controller.scratchCardView.scratchCardImageView.lineWidth = 50
controller.scratchCardView.scratchCardImageView.lineType = .round
Delegates
- GLScratchCardDelegate
- GLScratchCarImageViewDelegate
Add delegates,
controller.scratchCardView.addDelegate(delegate: self)
controller.scratchCardView.scratchCardImageView.addDelegate(delegate:self)
GLScratchCardDelegate
func didCloseButtonPressed(sender: UIButton)
func didDoneButtonPressed(sender: UIButton)
GLScratchCarImageViewDelegate
func scratchpercentageDidChange(value: Float)
func didScratchStarted()
func didScratchEnded()