【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 【アプリ開発】[1]TwookuL(ツークル):iPhoneを2画面に分割して同時にウェブ閲覧できる 【Swift】[20]rootViewControllerでの画面遷移 【Swift】[26]UIButtonのカスタマイズ