我有一个从UIView继承的自定义类。在这一类我添加了一个手势识别器以它为这样将UIGestureRecorgniser的代理设置为父项
//CustomParentView.swift
class CustomParentView: UIView, UIGestureRecognizerDelegate {
override init(frame: CGRect) {
super.init(frame: frame)
setupGestureRecognizer()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
func setupGestureRecognizer() {
let tap = UITapGestureRecognizer(target: self, action: #selector(CustomParentView.viewTapped(sender:)))
tap.delegate = self
self.addGestureRecognizer(tap)
}
func viewTapped(sender: UITapGestureRecognizer) {
print("View tapped")
}
}
然后,我有另一个类,从CustomParentView继承,我最终必须从它继承了几个UIViews,但委托手势识别器ISN设置为CustomParentView,它被设置为继承它的视图。这意味着我需要将viewTapped
函数移动到每个CustomParentView的子类中,并在每个类中重复使用该函数。
所以我的问题是如何设置的手势识别器是CustomParentView的委托,并为它留在CustomParentView
为您塑造孩子的情况下,从它的父类的所有成员成为孩子的成员。像'backgroundColor'是'UIView'成员,但是你可以在'UIImageView','UITableView'和all中设置它。它将表现为孩子的'backgroundColor'。那么你想要做什么? –
关闭视图 –
关闭父类中的父项。其子女自动解雇。 –