我制作了一个社交应用程序,用户可以在其中发布消息。
如果帖子长度超过250个字符,则会缩短该帖子,并在其末尾显示“ ...查看更多信息”。
问题是,在重复使用一个单元格之后,有时它还会缩短<250个字符的消息。而且我不明白为什么。
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
// … shortened code //
let message = messages[indexPath.row]
if (currentSelectedIndexPath != indexPath) {
cell.messageLabel.text = shortMessageIfNeeded(string: message)
} else {
cell.messageLabel.text = wholeMessage(string: message)
}
return cell
}
func shortMessageIfNeeded(string: String) -> String {
if string.count > appSettings.maxCharacters.message {
return string[0...appSettings.maxCharacters.message] + "... See more"
}
return string
}
func wholeMessage(string: String) -> String {
return string
}
错误图片:
底部的文本是“你好”,我不明白为什么它会缩短。
我不太了解如何发生。每次调用cellForRowAt indexPath
时,我都会为cell.messageLabel.text
设置新值
我想单元格的宽度可能无法生成正确的文本,而文本的宽度足够。