我有一個從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'。那麼你想要做什麼? –
關閉視圖 –
關閉父類中的父項。其子女自動解僱。 –