如何从自定义UIView调用UIViewController内部的方法/动作?

时间:2018-10-26 08:26:38

标签: ios swift uiview uiviewcontroller action

在我的iOS项目中,在Swift中,我有一个自定义UIView,其中包含一个Button。 该视图是UIViewController视图的一部分。 当我从自定义视图中触摸按钮时,我想在UIViewController内触发一个方法。

最佳做法是什么?

1 个答案:

答案 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
}
}
相关问题