将 IBAction 连接到自定义类
Posted
技术标签:
【中文标题】将 IBAction 连接到自定义类【英文标题】:Connect IBAction to custom class 【发布时间】:2017-11-05 18:24:05 【问题描述】:我编写了一个名为PressableView
的自定义类。它识别水龙头,然后在其委托对象上调用协议函数。由于是UIView
的子类,所以默认不允许IBAction
s的连接。
我想知道是否可以将视图控制器内部的函数(可按下视图位于其中)连接到对象,因此它会在点击时调用该方法——就像您使用 UIButton
一样。
我已经尝试过:
class PressableView: UIView
// ...
@IBOutlet var action: (() -> Void)?
// ...
...但是,Xcode 不允许该类型为 IBOutlet
。
有什么想法吗?
【问题讨论】:
【参考方案1】:将 PressableView
父类更改为 UIControl
类,然后您可以连接操作并处理它。
UIControl
仅是 UIView
类的子类。所以你也将拥有UIView
的所有属性。
class PressableView: UIControl
@IBAction func uicontrolEventAction(_ sender: Any)
【讨论】:
这看起来很有希望。我还可以自己定义何时调用函数吗?比如说,我希望它只在点击两次时触发? 想通了。非常感谢! 我很高兴@LinusGeffarth !!快乐编码! :)以上是关于将 IBAction 连接到自定义类的主要内容,如果未能解决你的问题,请参考以下文章
UICollectionViewCell 中的 NSLayoutConstraint:尺寸类自定义不起作用
iOs5,试图了解 UIPickerView 以及如何将其连接到我的自定义类