gpt4 book ai didi

ios - 在 scrollToRowAtIndexPath 之后动态计算 tableCells 中的 textWidth 变得错误

转载 作者:行者123 更新时间:2023-11-28 08:37:48 24 4
gpt4 key购买 nike

当我尝试使用这种方式将表格滚动到底部时

  let ip = NSIndexPath(forItem: array.count - 1, inSection: 0)
chatTableView.scrollToRowAtIndexPath(ip, atScrollPosition: .Top, animated: true)

单元格宽度计算:

private var leadingConstant: CGFloat = 30

@IBOutlet weak var leadingConstraint: NSLayoutConstraint! {
didSet {
leadingConstant = leadingConstraint!.constant
}
}

private func resizeCell() {
let labelTextWidth = chatTextLabel?.intrinsicContentSize().width
guard labelTextWidth < lWidth else {
return
}
leadingConstraint?.constant = leadingConstant + lWidth - labelTextWidth!
}

我会在单元格中得到错误的 textWidth 计算

enter image description here

最佳答案

我遇到了调整标签大小的问题,所以我只需要在设置文本后执行 chatTextLabel?.updateConstraints()

var chatMessage: ChatMessage! {
didSet {
setContent()
}
}

func setContent() {
chatTextLabel.text = chatMessage.message
chatTextLabel?.updateConstraints() // here

let labelTextWidth = (chatTextLabel?.intrinsicContentSize().width) ?? 0
let labelTextHeight = chatTextLabel?.intrinsicContentSize().height

guard labelTextWidth < originWidth && labelTextHeight <= singleLineRowheight else {
trailingConstraint?.constant = trailingConstant
return
}
trailingConstraint?.constant = trailingConstant + (originWidth - labelTextWidth)

}

关于ios - 在 scrollToRowAtIndexPath 之后动态计算 tableCells 中的 textWidth 变得错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37274429/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com