OKADA LABO

Buttonの上にUIViewを覆いかぶせてもボタンのtap処理を実行させたい

例えばボタンとViewを作りまして・・・

let myButton = UIButton()
let buttonCoveredView = UIView()

ボタンの上にViewを覆い被せると・・・

myButton.addSubview(buttonCoveredView)

ボタンをタップしようとしても
Viewがかぶさってるためボタンに届かない
という現象になります。
ボタンにタップ処理があっても実行されないんです

ViewにisUserInteractionEnabled というプロパティを設定すると
届くようになります

buttonCoveredView.isUserInteractionEnabled = false

デフォルトではtureなのでfalseにすると
下の部品にタップが届くようになります