gpt4 book ai didi

swift - UITextView sizeThatFits 刷新后返回不同的值

转载 作者:行者123 更新时间:2023-11-28 13:43:13 25 4
gpt4 key购买 nike

我有一个带有 UITextView 的自定义 UICollectionViewCell,包含在 UICollectionView 中,用于评论系统。我已经实现了拉动刷新,以便 Collection View 将抓取最新的评论并相应地调整每个单元格的大小。

第一次加载,高度调整没问题。然而,在第二次(偶尔是第三次)刷新时,即使内容没有改变,单元格的大小也会缩小。

我设置了断点,在调用 sizeThatFits 后对其进行了检查,可以确认 fixedWidth、contentTextView.text 和 contentTextView.font 在刷新之间没有变化,但是来自 sizeThatFits 的结果无论出于何种原因都会发生变化。

let fixedWidth = frame.width - userPicButtonDiameter*2 - 8
let textViewSize = contentTextView.sizeThatFits(CGSize(width: fixedWidth, height: CGFloat.greatestFiniteMagnitude))
let insets: UIEdgeInsets = contentTextView.textContainerInset;
contentTextViewHeightConstraint.constant = textViewSize.height + insets.top + insets.bottom

还有什么可能导致 sizeThatFits 提供不同的结果?

最佳答案

你可以试试

contentTextView.layoutIfNeeded() // restore actual size
let textViewSize = contentTextView.sizeThatFits(CGSize(width: fixedWidth, height: CGFloat.greatestFiniteMagnitude))
let insets: UIEdgeInsets = contentTextView.textContainerInset;
contentTextViewHeightConstraint.constant = textViewSize.height + insets.top + insets.bottom
self.layoutIfNeeded() // refresh main view

关于swift - UITextView sizeThatFits 刷新后返回不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55768634/

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