【Swift】[29] 2つ重ねたUIViewの内、下のUIViewのみ反応させる方法 投稿日: 2020年4月21日2020年4月21日 投稿者: Ediie また久々の更新になってしまいましたが、今回は自分が開発している時にも利用した【UIViewを二つ重ねた時に下UIViewのみタッチ処理を有効にする方法】を記載します。自分が利用した場面としては、ブラウザアプリ内でブルーライトカットの機能を実装する際、透過させたオレンジ色のUIViewを上に重ねた部分で利用しました。他にも利用できる場面があると思うので良かったらお使い下さい。 該当コード class {UIViewクラス名}: UIView { : : //この部分がタッチ時の当たり判定をしています override func point(inside point: CGPoint, with event: UIEvent?) -> Bool { return false } : : } 説明 上記コードのpoint(inside point: CGPoint, with event: UIEvent)にてUIViewへタッチした際、返り値Bool型を返すことによって当たり判定しています。したがって、その返り値の部分を全てfalseで返すことによって当たり判定自体を無効化することができます。その事により、下のUIViewに伝搬されるような仕組みです。 Related posts 【Swift】[26]UIButtonのカスタマイズ 【Swift】[8]UIButtonを押した際のアニメーション実現方法 【Swift】[6] 配列の定義方法・配列への要素の追加方法