Search code examples
swiftbuttontouchesbegantouchestouchesended

How to know when the button is pressed and canceled Button pressing


I made a button. And used the below code. But it doesn't work at all.

override func pressesBegan(_ presses: Set<UIPress>, with event: UIPressesEvent?) {
    print("pressTest")
    btnConvert.isHidden = true
}

How can I know when the button is pressed and when button pressing is canceled?


Solution

  • Use the built-in UIButton functions - .touchDown, .touchUpInside, .touchUpOutside.

    Touch begin:

    myButton.addTarget(target, action: action, for: .touchDown)
    

    Touch ends:

    myButton.addTarget(target, action: action, for: .touchUpInside)
    myButton.addTarget(target, action: action, for: .touchUpOutside)