iOSのUIViewクラスで、あるビューにタッチイベントを処理させたくないときには userInteractionEnabled= NO; とやれば済む話ですが、そうするとそのビューにぶら下がっているサブビューにもイベントが渡らなくなってしまいます。しかし、そのビューには処理させたくないけれども、サブビューには渡したい、というときにはどうすればよいかというお話。 結論 hitTest:withEvent:をオーバーライドしましょう。 hitTest:withEvent:とはなにか 渡ってきたタッチイベントを、それ自身あるいはそのサブビューのうちどれが処理するのか(あるいはどれもしないのか)、を返すメソッド。そのビュー自身が処理する場合はselfが、サブビューが処理する場合は該当するサブビューが、誰も処理しない時はnilが返ってきます。 hitTest:withEvent:は何をやっているの