UIButton remove all target-actions

后端 未结 5 928
广开言路
广开言路 2020-12-04 05:02

I have added multiple target-action-forControlEvents: to a UIButton. I\'d like to remove all of these in one go without deallocating anything. I will then set new targets.

5条回答
  •  萌比男神i
    2020-12-04 05:09

    Call removeTarget:action:forControlEvents:, pass nil for the target, NULL for action, and use a control mask that sets all bits (UIControlEventAllEvents).

    Objective-C

    [someControl removeTarget:nil 
                       action:NULL 
             forControlEvents:UIControlEventAllEvents];
    

    Swift 2

    button.removeTarget(nil, action: nil, forControlEvents: .AllEvents)
    

    Swift 3 or higher

    button.removeTarget(nil, action: nil, for: .allEvents)
    

提交回复
热议问题