私は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
に
まあ、すぐにあなたが子供のインスタンスを作成するように、その親クラスのすべてのメンバーは、子供のメンバーになります。 'backgroundColor'のように' UIView'メンバですが、あなたは 'UIImageView'、' UITableView'とallでそれを設定できます。これは、子の 'backgroundColor'として動作します。だからあなたは何をしたいですか? –
ビューを閉じます –
親クラスの親を閉じます。その子は自動的に却下されます。 –