我有一个UITableView,并且通过对远程服务的调用来填充该单元格。
我已将UILabel lineBreakMode属性设置为NSLineBreakByTruncatingTail
并将行设置为2.在单元格xib上,一切似乎都是正常的。这是截图:
这是我在解析从远程服务检索到的JSON后用来填充文本的代码片段。
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if (posts.count == 0){
return tableView.dequeueReusableCell(withIdentifier:
TableViewCellIdentifiers.emptyCell, for: indexPath)
} else {
let cell = tableView.dequeueReusableCell(withIdentifier:
TableViewCellIdentifiers.postCell, for: indexPath) as! PostCell
let post = posts[indexPath.row]
cell.userNameLabel.text = post.userName
cell.postTextLabel.text = post.text
cell.timeLabel.text = post.time
cell.distanceLabel.text = post.distance
return cell
}
}
知道问题在哪里?
答案 0 :(得分:0)
您似乎缺少约束。尝试设置从标签右边缘到右侧Time
和Distance
标签的约束。我会让所有标签都有一个固定的宽度,并设置所有约束Equal
,UILabels正确对齐文本。
答案 1 :(得分:0)
这里的问题是因为您给出的宽度限制。黄色警告表示在运行时标签宽度可以超过任何限制。 Y位置或高度也未正确设置。您需要在运行时设置这两个约束,Label
将采用适合文本长度的宽度。