4

iOS 4で機能していたサブクラス化されたタッチ応答を含むカスタムビューがありました。iOS5では、ビューの背景色がに設定されている場合clearColor、ビューの下端に沿ってタッチすると、これらのタッチはまったく応答しませんでした。

私はこれを追跡することができませんでしたが、iOS 5が透明な背景に応じてビューがタッチに応答する方法を変更したかどうか誰かが知っていますか?

背景色をのような不透明な色に設定する以外にコードを変更することはできずorangeColor、ビューは完全に応答します。

この問題は、ビューの他の場所のタッチには影響しないことに注意してください。ビューに追加された最後のサブビューの下の下端に沿ってのみ。おそらく、クリアな背景は、コンテンツのないビューの領域を見るときに、タッチのためにビューが存在しないかのように扱われます。色を変更すると、ビューに「コンテンツ」が含まれ、タッチが機能します。

4

2 に答える 2

13

を使用する代わりに、[UIColor clearColor]これを使用してみてください。

[view setBackgroundColor:[UIColor colorWithRed:0 green:0 blue:0 alpha:0.1]];

: が以下の場合、AはUIViewタッチ イベントに応答しません。を に設定して、タッチ イベントを取得しないようにします。上記の方法に従って、透明なビューでタッチ イベントを受け取ることができます。alpha0.1[UIColor clearColor]alpha0.0

于 2012-06-13T09:38:09.893 に答える
5

他の誰かがこの問題に遭遇し、背景に部分的な不透明度を設定するよりも良い解決策が必要な場合は、ビューのopaqueプロパティをに設定してからNO空のdrawRect:メソッドを追加できます。(iOS8、ベータ 4 でテストされ、動作しています。)

于 2014-07-24T21:56:00.650 に答える