【发布时间】:2014-12-23 23:31:03
【问题描述】:
我有一个带有自定义单元格的UITableView,其中有一些标签可以动态决定单元格的高度。当我点击一个单元格并转到一个新的视图控制器时,在返回单元格的所有格式时完全搞砸了,我不知道是什么原因造成的。
下面是细胞通常的样子:
我对它们设置了一些非常基本的约束。顶部标签固定在顶部和左侧边距,并且必须始终从右侧 >= 20。其他标签与第一个标签的左侧对齐,所有标签之间设置了垂直间距。中间标签对边距有一个右间距约束,底部标签与第一个标签的基线对齐,并且它们之间有水平间距。
当我继续回到这个表格视图时,它看起来像这样:
我无法弄清楚是什么导致它的布局与我离开时不同。如果我滚动它似乎将它们“重置”回应有的状态,但在初始加载时它们真的搞砸了。如果需要,我可以附加项目,但故事板之外的内容真的不多。
cellForRowAtIndexPath:
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as CustomTableViewCell
let object = objects[indexPath.row]
cell.title1.text = object.name
cell.title2.text = object.color
cell.title3.text = object.roar
return cell
}
【问题讨论】:
-
您可能没有使用过
deQueueReusableCellWithIdentifier。在您的cellForRowAtIndexPath中尝试。 -
添加到 Libra Coder 的建议,使用 dequeueReusableCellWithIdentifier: atIndexPath:
-
我相信这两件事我都做了。我已将我的
cellForRowAtIndexPath方法添加到主帖中。 -
请附上项目。
-
@gabbler 附件,见主帖。
标签: ios objective-c uitableview uiviewcontroller autolayout