我已经向UIButton添加了多个target-action-for ControlEvents:.我想一口气把所有这些都移走,而不需要重新分配任何东西.然后我会设定新的目标.

这可能吗?我该怎么做呢?

推荐答案

调用removeTarget:action:forControlEvents:,为目标传递nil,为action传递null,并使用设置所有位的控制掩码(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)

Ios相关问答推荐

自定义组件中的通用型-无法访问特定于收件箱的属性

如何加密字符串使用AES. GCM在Dart和解密相同的Swift?

我应该使用哪个UIButton发送事件在SWIFT上刷卡?

SwiftUI检测顶级和安全区域插图

如何根据SWIFT中的按钮点击更新文本值

垂直分页 UIScrollView 高度不正确

为什么这个 SwiftUI 状态在作为非绑定参数传递时没有更新?

为什么@FetchRequest 在删除时不更新和重绘视图?

Swift Combine 防止初始值触发接收器并同时防止重复?

iOS 是否支持使用独立 .xib 文件创建的嵌套自定义子视图?

UIViewRepresentable - MKMapView 没有得到更新

XCode 14 Beta 中 NavigationStack 的正文渲染问题

CocoaPods 找不到 podFirebase/Core的兼容版本 | cloud_firestore, Flutter

如何获取 UICollectionViewCell 的矩形?

构建失败:ld:重复符号 _OBJC_CLASS_$_Algebra5FirstViewController

无法验证客户端 3000

如何从一个特定的视图控制器中隐藏导航栏

如何使用 Contacts Framework 获取 iOS 9 中的所有联系人记录

单击 GoogleSignIn 按钮时应用程序崩溃

为给定的 UIColor 获取更亮和更暗的 colored颜色 变化