在我的iOS项目中,在Swift中,我有一个自定义UIView
,其中包含一个Button
。
该视图是UIViewController视图的一部分。
当我从自定义视图中触摸按钮时,我想在UIViewController
内触发一个方法。
最佳做法是什么?
答案 0 :(得分:2)
使用协议/代理:
protocol TapHandler {
func tapped()
}
class MyView: UIVieww {
weak var tapHandler: TapHandler?
/// button tap handler
@obj func yourTapFunctionInsideView() {
tapHandler?.tap()
}
}
class MyViewController: UIViewController, TapHandler {
var view: MyView?
override func viewDidLoad() {
super.viewDidLoad()
view?.tapHandler = self
}
func tapped() {
/// tapped
}
}