0

CatsTableViewCell.xib ファイルからカスタム UITableViewCell をロードしています。Interface Builder で追加したカスタム ラベルが含まれています。セルがテーブル ビューに表示されます。すべて問題ないようです。

しかし、シミュレーターでセルをクリックすると、セル全体が青色に変わります。ラベルを contentView に接続できませんでした。他の人から、Interface Builder がセルのサブビューを contentView に自動的に追加すると言われました。

何が起こっているのか、なぜ選択状態がラベルを覆っているのか教えてもらえますか? contentView であれば、これは起こらないはずだと思います。

私がしたことは、グラデーションを描画するカスタム backgroundView を作成し、そこにラベルを追加することだけでした。Interface Builder は私のラベルを子としてバックグラウンド ビューに追加し続けますが、これは厄介です。セルが唯一のルートオブジェクトでなければならないため、ルートにも配置できません。IB では、ラベルを背景ビューの上に置くこともできません。これを行うと、ラベルを配置できず、クリックするたびに、IB はそれを子として背景ビューに追加します。

ここに画像の説明を入力

ここに画像の説明を入力

ラベルを backgroundView の上にドラッグすると、このようになります。その後ろに消えます。ラベルをクリックして配置しようとすると、再度 backgroundView の子になります。

ここに画像の説明を入力

4

1 に答える 1

0

IB では、オブジェクトがリスト ビューで別の上にある場合、実際には「下」にあります。リストビューは、いわば「下から上へ」の階層を示しています。

階層は次のようになります。

ここに画像の説明を入力

ラベルを背景の下にドラッグするのが難しい場合があります。ご存知のように、ピクセルが完全でない場合、XCode はラベルを背景ビューの子にしますが、これは望ましくありません。ここでの解決策は、代わりに背景ビューをラベルの上にドラッグすることです。これがあなたを助けることを願っています!

于 2012-10-13T18:29:17.117 に答える