39

サブクラスUIView化してメソッドを追加しましたdrawRect。次に、このカスタムクラスを使用してビューを定義し、それにサブビューを追加します。

問題はdrawRect、サブビューの下に何かを描画しているように見えることです(したがって表示されません)。

drawRectカスタムのサブビューの上に描画するものを表示したいUIView

これは可能ですか?

4

2 に答える 2

29

サブビューは常にそのスーパービューの「上部」に描画されます。

特定の要件によっては、既存のサブビューを含むプレーンなUIViewを背景/コンテナビューとして使用し、次に別のサブビューとしてのカスタムビューを最上部に追加する必要がある場合があります。これにより、Zオーダーが最も高くなります。 。

これは、たとえば、カスタムビューが他のすべての上にある必要があるグリッドオーバーレイである場合に機能します。カスタムビューは、透明な背景色で不透明でない必要があります。

于 2011-10-08T08:58:54.007 に答える
10

いいえ、サブビューは常にコンテナの上に表示されます。もちろん、サブビューを(部分的に)透明にすることを妨げるものは何もありません。

上に描画する場合は、別の透明なサブビューを一番上のサブビューとしてコンテナに配置し、そのサブビューに描画します。ユーザーの操作を無効にしても、タッチ処理に干渉することはありません。

于 2011-10-08T08:53:13.373 に答える