将 IBAction 连接到自定义 class
Connect IBAction to custom class
我写了一个名为 PressableView
的自定义 class。它识别点击,然后在其委托对象上调用协议函数。由于是UIView
的subclass,默认不允许连接IBAction
我想知道是否有可能将视图控制器内部的函数连接到对象,可按下的视图在其中,因此它会在点击时调用该方法——就像使用 UIButton
.[=17= 一样]
我已经尝试过类似的东西:
class PressableView: UIView {
// ...
@IBOutlet var action: (() -> Void)?
// ...
}
...但是,Xcode 不允许该类型为 IBOutlet
。
有什么想法吗?
将 PressableView
parent class 更改为 UIControl
class 然后您可以连接操作并处理它。
UIControl
仅是 UIView
class 的子 class。所以你也将拥有 UIView
的所有属性。
class PressableView: UIControl {
@IBAction func uicontrolEventAction(_ sender: Any) {
}
}
我写了一个名为 PressableView
的自定义 class。它识别点击,然后在其委托对象上调用协议函数。由于是UIView
的subclass,默认不允许连接IBAction
我想知道是否有可能将视图控制器内部的函数连接到对象,可按下的视图在其中,因此它会在点击时调用该方法——就像使用 UIButton
.[=17= 一样]
我已经尝试过类似的东西:
class PressableView: UIView {
// ...
@IBOutlet var action: (() -> Void)?
// ...
}
...但是,Xcode 不允许该类型为 IBOutlet
。
有什么想法吗?
将 PressableView
parent class 更改为 UIControl
class 然后您可以连接操作并处理它。
UIControl
仅是 UIView
class 的子 class。所以你也将拥有 UIView
的所有属性。
class PressableView: UIControl {
@IBAction func uicontrolEventAction(_ sender: Any) {
}
}