单元格中带有短文本的标签显示错误

时间:2018-09-15 09:47:30

标签: swift tableview cell

我制作了一个社交应用程序,用户可以在其中发布消息。

如果帖子长度超过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
    }

错误图片:

enter image description here

  

底部的文本是“你好”,我不明白为什么它会缩短。

我不太了解如何发生。每次调用cellForRowAt indexPath时,我都会为cell.messageLabel.text设置新值

我想单元格的宽度可能无法生成正确的文本,而文本的宽度足够。

0 个答案:

没有答案