ios - 将 IBAction 连接到自定义类

标签 ios xcode interface-builder

我编写了一个名为 PressableView 的自定义类.它识别水龙头,然后在其委托(delegate)对象上调用协议(protocol)函数。因为它是 UIView 的子类,它不允许IBAction的连接默认情况下。
我想知道是否可以将 View Controller 内部的函数(可按下 View 位于其中)连接到对象,因此它会在点击时调用该方法——就像您使用 UIButton 一样.

我已经尝试过类似的事情:

class PressableView: UIView {
    // ...
    @IBOutlet var action: (() -> Void)?
    // ...
}

...但是,Xcode 不允许该类型为 IBOutlet .

有任何想法吗?

最佳答案

更改 PressableView父类为 UIControl类然后您可以连接操作并处理它。
UIControlUIView 的子类只上课。所以你将拥有 UIView 的所有属性也是。

class PressableView: UIControl {
     @IBAction func uicontrolEventAction(_ sender: Any) {
    }
}

enter image description here

enter image description here

关于ios - 将 IBAction 连接到自定义类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47125044/

相关文章:

ios - 为什么 iPhone 邮件中的字体大小这么小?必须放大到 26px

ios - swift 收听未选择的 GoogleMaps 标记

xcode - 你可以通过 Interface Builder 设置 UIEdgeInsets 吗?

ios - 当 UI 元素包含在另一个 Nib 中时,如何使 UI 元素与同级(单独的 Nib )一样发挥良好作用?

ios - AppID前缀是否属于敏感信息?

ios - 在我设置内容大小并测试它改变后,Scrollview 不滚动

iphone - 没有从网络服务获取数据

xcode - 在Xcode上取消引用void *警告

ios - 如何让 Xcode 5 在 Jenkins slave 上运行 iOS 单元测试?

ios - 如何创建左侧带有后退按钮的导航栏?