在我的iOS项目Swift中,我有一个自定义的UIView,其中包括一个Button
此视图是UIViewController视图的一部分。
当我在自定义视图中按下按钮时,我想在UIViewController中启动一个方法。
最好的做法是什么?

最佳答案

使用协议/委托:

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
}
}

关于ios - 如何从自定义UIView调用UIViewController内部的方法/ Action ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53004549/

10-09 13:03