結論
UILabel.isUserInteractionEnabled = true
が必要
概要
例えばこんなタグ風UIで削除ボタンを設置したのだけど、ボタンが反応しない...
private func makeAddressLabel(){ addressLabel.text = "サンフランシスコ Taylor St627付近" addressLabel.sizeToFit() let deleteAddressButton = UIButton(frame: CGRect(x: addressLabel.frame.size.width, y: 0, width:addressLabel.frame.size.height, height: addressLabel.frame.size.height)) deleteAddressButton.setTitle("✖️", for: .normal) deleteAddressButton.addTarget(self, action: #selector(addressCancelButton), for: .touchUpInside) addressLabel.frame.size.width += addressLabel.frame.size.height //これがないと反応しない... addressLabel.isUserInteractionEnabled = true addressLabel.addSubview(deleteAddressButton) }
それでも反応しない時は、buttonのサイズがlabel(親View)からはみ出してるケースなんかを疑おう。
リンク
リンク