我编写了一个名为 PressableView
的自定义类.它识别水龙头,然后在其委托(delegate)对象上调用协议(protocol)函数。因为它是 UIView
的子类,它不允许IBAction
的连接默认情况下。
我想知道是否可以将 View Controller 内部的函数(可按下 View 位于其中)连接到对象,因此它会在点击时调用该方法——就像您使用 UIButton
一样.
我已经尝试过类似的事情:
class PressableView: UIView {
// ...
@IBOutlet var action: (() -> Void)?
// ...
}
...但是,Xcode 不允许该类型为
IBOutlet
.有任何想法吗?
最佳答案
更改 PressableView
父类为 UIControl
类然后您可以连接操作并处理它。UIControl
是 UIView
的子类只上课。所以你将拥有 UIView
的所有属性也是。
class PressableView: UIControl {
@IBAction func uicontrolEventAction(_ sender: Any) {
}
}
关于ios - 将 IBAction 连接到自定义类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47125044/