如何从自定义 UIView 调用 UIViewController 内的 method/an 操作?
How to call a method/an action inside UIViewController from custom UIView?
在我的 iOS 项目中,在 Swift 中,我有一个自定义 UIView
,其中包括一个 Button
。
此视图是 UIViewController 视图的一部分。
当我从我的自定义视图中触摸按钮时,我想在我的 UIViewController
.
中触发一个方法
这样做的最佳做法是什么?
使用protocol/delegate:
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 项目中,在 Swift 中,我有一个自定义 UIView
,其中包括一个 Button
。
此视图是 UIViewController 视图的一部分。
当我从我的自定义视图中触摸按钮时,我想在我的 UIViewController
.
这样做的最佳做法是什么?
使用protocol/delegate:
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
}
}