Swift UIStackView内のButtonやUIControlでタップが効かない時に困った話

Swift Swift
Swift

UIStackView内に配置したUIControlのパーツをタップした時に、タップ動作が反応しない事で困っていました。

色々試しすぎて、当初の原因はなんだったのか?不明になってしまいましたが、
ネットで原因を調べている時に、度々目にして影響されてしまったのが・・・

stackView.isUserInteractionEnabled = false

「こうしてみたら直るよ〜」みたいなサイトを目にする事があり、
単純に「あっタップしない時はfalseにしてみたら良いのか〜」と思ってしまってました。

そのため、何も考えず同じように設定しても直らず・・・
何が原因なのだろう?と色々触ってて解決したのが・・・

stackView.isUserInteractionEnabled = true
にすると直りました。\(^o^)/

自分でも当初の原因は分からなくなってしまいましたが、stackView.isUserInteractionEnabledの値を変えて直る事は、冷静に考えれば納得です・・・

Viewのタップを有効無効が切り替わるのなら、StackViewに対してタップ無効としたら、そらUIButtonやUIControlのタップも無効になりますよね・・・

参考にしてたサイトでは、Delegateを使った方法も一緒に記述していました。
きっと、「タップ無効にしてDelegateを使ってタップ動作に変わる処理を行えば良いよ〜」
って事が書かれていたのだと思います。

周りの文面や状況を考えずに、安易に同じ方法を採用してしまったがために、更に原因が分からない泥沼にはまってしまったという話でした・・・_φ(・_・

コメント

タイトルとURLをコピーしました