7

一連の子ビュー (コレクション ビュー、カスタム ツールバー、およびいくつかの小片) を保持するコンテナー ビューを作成しました。

このデザインには上下左右に境界線がありますが、下端にはありません。そのため、drawRect をオーバーライドして境界線を含めました。

ツールバーを追加すると、境界線の上に表示されることに気付きました。(何らかの理由で、最初はそうではないと思っていましたが、もちろんそうです!)。

サブビューの上に描画するようにdrawRectに指示できる方法はありますか?

もちろん、私の問題を解決する方法は他にもたくさんありますが (ツールバーのフレームを調整するなど)、合成とビュー階層に関連して描画がどのように機能するかを深く理解するために、この質問をしています。

4

3 に答える 3

2

サブビューはスーパー ビューの上に描画されます。したがって、あなたの質問に対する答えはノーです。

コンテナ ビューに境界線を描画する時点では、Cocoa はまだツールバーの描画を開始していません。

境界線の上部をサブビューにするか、ツールバーを少し下に移動できると思います。

于 2013-10-21T15:26:42.643 に答える