サブクラスUIView
を追加し、drawRect
メソッドを追加しました。次に、このカスタムクラスを使用してビューを定義し、サブビューを追加します。サブビューの上にdrawRect
問題は、drawRect
がサブビューの下に物を描くように見えます(したがって見えません)。
drawRect
私のカスタムのサブビューの上に表示されるものを欲しいUIView
。
これは可能ですか?
サブクラスUIView
を追加し、drawRect
メソッドを追加しました。次に、このカスタムクラスを使用してビューを定義し、サブビューを追加します。サブビューの上にdrawRect
問題は、drawRect
がサブビューの下に物を描くように見えます(したがって見えません)。
drawRect
私のカスタムのサブビューの上に表示されるものを欲しいUIView
。
これは可能ですか?
サブビューは常にそのスーパービューの「上」に描画されます。
特定の要件に応じて、バックグラウンド/コンテナビューとしてプレーンUIビューを、そこに既存のサブビューを、次にカスタムビューを別のサブビューとして追加する必要があります。最高のZオーダー。
これは、たとえば、カスタム表示が他のすべての上に表示されるグリッドオーバーレイの場合に機能します。カスタムビューは透明で背景色が不透明でなければなりません。
いいえ、サブビューは常にそのコンテナの上に表示されます。もちろん、(部分的に)サブビューを透明にすることを止めるものはありません。
上に描画する場合は、別の透明なサブビューを最上部のサブビューとしてコンテナに置き、そのサブビューを描画します。ユーザーインタラクションを無効にすると、タッチ操作を妨げることはありません。
また、この新しいリファクタリング(新しいUIViewまたはビューへのリダイレクト)は、ほとんどの場合、読みやすさに役立ちます。 +1 –
達成しようとしているものの例(おそらく画像?)を教えてください。あなたはサブビューの内容を最初に描きたいと思うし、その上に「バックグラウンド」を描いているように思えますが、私は確信が持てません。 – jrturton
大きな質問、簡潔にしていただきありがとうございます。 –