我是iOS开发的新手,似乎Auto Layout是我最容易混淆的部分。
我有一个UITableViewCell,它是一个动态原型。
在单元格中,在故事板场景中,我创建了:
{[UILABEL] [UILABEL]}< - TableViewCell
我希望两个标签彼此相邻。
第一个UILabel是日期(月/日),第二个UILabel是标题。
我知道标题太大了。但是,它仍然需要位于日期标签旁边,它们之间只有很小的空间。
实施例。 12/01示例标题
我已经在故事板中尝试了所有内容 - 从尝试允许Xcode自动“建议约束”到通过设置右,左和底限制创建我自己的约束。同样,将标题标签的内容拥抱属性配置为垂直和水平的1000。
日期标签正确显示。然而,标题标签根本没有出现......除了侧面的一些错误的白色规格。 =(
如果我按住该行,我可以在日期标签后面和整个行中看到背景中的标题。
我通过cellForRowAtIndexPath
方法以编程方式配置每一行的文本:
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier forIndexPath:indexPath];
if (!cell) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
}
// get the label objects of the cell
UILabel *dateLabelOfCell = (UILabel *)[cell viewWithTag:0];
UILabel *titleLabelOfCell = (UILabel *)[cell viewWithTag:1];
dateLabelOfCell.text = date;
titleLabelOfCell.text = title;
任何想法我做错了什么?
更新1:
看起来正在设置标签文字。数据没有显示出来。所以,我更多地考虑使用viewwithtag设置单元格标签,我发现其他人遇到了这个问题:
UILabel with viewWithTag - (text not appearing)
然而,他们的解决方案都不起作用。任何想法为什么第一个UILabel出现而第二个不出现?如果我点击该行,我只会看到第二个UILabel。
答案 0 :(得分:0)
我确定了这个问题。
第二个UILabel没有出现的原因并不是由于自动布局。
问题是因为我的标签号码使用0和1。所以,我更改了故事板文件中的标签号,并更新了匹配的代码,它们都出现了。
我认为使用0引起问题和干扰的原因是因为tableviewcell的默认标签号也是0。
因此,请确保您使用的标签号是唯一的。