如何在Interface Builder中向UITableViewCell的contentView添加自定义标签?

时间:2012-10-13 18:17:25

标签: iphone ios xcode xcode4 interface-builder

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

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

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

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

enter image description here

enter image description here

当我将标签拖到backgroundView上方时,它就是这样的样子。它消失在它背后。单击标签并尝试定位它将使它再次成为backgroundView的子项:

enter image description here

1 个答案:

答案 0 :(得分:0)

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

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

enter image description here

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