Reputation: 192
As long as you are tapping on the button, the action should be performed. As soon as you release the button, the action that is performed will be removed.
I am using a long-press Gesture but it didn't work.
let longGesture = UILongPressGestureRecognizer(target: self, action: #selector(long))
@objc func long() {
topImageView.image = originalImage
topImageView.isHidden = false
lassoimageView.isHidden = true
middleImageView.isHidden = true
overlayImage.isHidden = true
buttonTap = "Eye"
}
Upvotes: 1
Views: 513
Reputation: 1118
In your code you haven’t added the gesture to your button. Like this:
myButton.addGestureRecognizer(longGesture)
Then you can handle start and events as @Sh_Khan mentioned.
Upvotes: 1
Reputation: 434
Use .touchDown to perform action on button click
// This will start your button action.
button.addTarget(self, action: #selector(start), for: .touchDown)
// This will end your button action.
button.addTarget(self, action: #selector(end), for: .touchUpInside)
Upvotes: 0
Reputation: 100541
You need to handle the state
@objc func long(_ tap:UILongPressGestureRecognizer) {
switch(tap.state) {
case .began:
// to do
case .ended:
// to do
default: break
}
}
Upvotes: 1