iOS。透明な画像がタッチをその下のuibuttonに渡すことを可能にするにはどうすればよいですか?
-
27-10-2019 - |
質問
iPadアプリの場合、私は書いています。私はuiviewサブクラスである2つのサブビューを備えたコンテナuiviewを持っています。
- その画像にその一部が切り取られているuiimageViewは、その下にあるものを明らかにします。
- uiimageViewの切り取られた部分から明らかにされるuiimageViewの下のuibutton。
uiimageviewはuimagetonと空間的に重複しているため、UiimageViewのアルファマットの切り抜きのためにUibutonが完全に見えるにもかかわらず、Uimiveonが完全に見えていても、タッチがuibuttonに届かないようにしています。 uiimageviewがタッチを兄弟uibuttonに渡すことを許可するにはどうすればよいですか?
ありがとう、
ダグ
解決
uiimageviewは通常、タッチをブロックしません、uiviewsはそうします。
オーバーラップビューでuserInteractionEnabledプロパティをNOに設定できます。タッチはそれらを通過する必要があります。
他のアプローチは、サウチをボタンにリダイレクトするカスタムヒットトップを書くことです。
他のヒント
バスティアンの答えに加えて、私がチェックすることも必要でした Opaque
私のためのインターフェイスビルダーに描画属性を描画します UIImageView
Interface BuilderにUIIMAGEVIEWを配置するときのデフォルト値であるユーザーインタラクションが有効になっていても、画像ビューの背景がしっかりしていても、タッチは下のボタンに渡る必要があります。ボタンの上に座っているuiviewのように、他の何かが起こっているに違いありません。
基礎となるビューまたはその下にあるビューがある別のビューコントローラーに渡すためにタッチを得るためにもっと複雑なことをしようとしている場合、私はこのシンプルなオープンソースライブラリを作成しました。
https://github.com/natrosoft/natouchthroughview
ReamdeとDemoはそれを使用する方法を示しています。