0

我正在从 CatsTableViewCell.xib 文件加载自定义 UITableViewCell。它包含我在 Interface Builder 中添加的自定义标签。该单元格在表格视图中可见。一切看起来都很好。

但是当我单击模拟器中的单元格时,整个单元格变为蓝色。我无法将标签连接到 contentView,并且其他人告诉我 Interface Builder 会自动将单元格的子视图添加到 contentView。

有人可以告诉我发生了什么,为什么选择状态会覆盖标签?如果是 contentView,我认为这不应该发生。

我所做的只是创建一个绘制渐变的自定义 backgroundView,并在那里添加一个标签。Interface Builder 不断将我的标签作为子标签添加到背景视图中,这很尴尬。我也不能将它定位在根中,因为单元格必须是唯一的根对象。而且IB也不会让我把标签放在背景视图上方。当我这样做时,我无法定位标签,并​​且每次单击它时,IB 都会将其作为子项添加到背景视图中。

在此处输入图像描述

在此处输入图像描述

这是我将标签拖到背景视图上方时的外观。它消失在它身后。单击标签并尝试定位它将使其再次成为 backgroundView 的子项:

在此处输入图像描述

4

1 回答 1

0

在 IB 中,当一个对象在列表视图中高于另一个对象时,它实际上在它的“下方”。可以这么说,列表视图显示了从“下到上”的层次结构。

您的层次结构应如下所示:

在此处输入图像描述

您可能会发现很难将标签拖到背景下方 - 正如您所发现的,如果您不是像素完美的 XCode 将使其成为您不想要的背景视图的子级。这里的解决方案是将背景视图拖到标签上方。希望这可以帮助你!

于 2012-10-13T18:29:17.117 回答