UIViewがuserInteractionEnabled = trueの時は、レスポンダーチェーン的にそこでチェーンが止まり、その下にあるビューにタップが伝わらない。そこで、UIViewの一部のタップを無効にしてその下にあるビューにタップを伝えたい。どうすればよいか? タップ無効領域を作る UIViewのhitTest:withEvent:というメソッドを作って、タップ反応領域はselfを返す。タップ無効領域はnilを返すということで、簡単にUIViewをくり抜くことができます。ちなみに、今回、タップ無効領域はUIBezierPathを使って作成しています。UIBezierPathはcontainsPoint:というメソッドを持っていて、領域判定にこちらを使うとかなり便利です。 import UIKit class HollowView: UIView { override func h
![UIViewをくり抜く – morizotter blog](https://cdn-ak-scissors.b.st-hatena.com/image/square/217ee383a25560e36bc13c97ca1ba3e091c81a1d/height=288;version=1;width=512/https%3A%2F%2Fi1.wp.com%2Fblog.morizotter.com%2Fwp-content%2Fuploads%2F2016%2F03%2Fmorizotter_bloghollow.png%3Ffit%3D337%252C600%26ssl%3D1)