我已经阅读了多篇关于此问题的帖子,但我还没有找到任何解决方案。
我正在做一个类似聊天的应用程序
该应用程序有一个TableView,其中包含动态高度单元格。
单元格由视图和多行标签组成。
如果标签的字符数超过> 250,则会缩短其结尾“...查看更多”
现在的问题是,有时标签会被切断。
我用标签的Line Break
设置玩了一下,在将它改成Character Wrap之后,标签显示了它的全文。
左图:qazxsw poi - - - 右图:qazxsw poi(我需要这个)
Character Wrap
正如您在右图所示,“Bt ... See More”被切断了..
我意识到如果我将标签的宽度或视图的宽度设置为固定大小,那么问题就会得到解决:所以问题的根可能是在气泡视图的主要约束中:
Word Wrap
(这是必需的,以便气泡视图最大扩展到superview的75%)
我为此做了一个GitHub回购:
请帮忙!
任何人?
我想通过如果我设置气泡视图的前导常数如下:
Align leading to Superview
Constant: 0
Priority: 1000
Multiplier: 0.25
为了将最大宽度设置为75%,内部标签不正确。
所以我删除了前导约束,而不是通过纵横比最大化宽度!
如果我使用宽高比2:3
然后我实现了相同的结果,但标签包装正确!
夏天
好的,现在我已经发现泡泡视图的前导约束第二项(SuperView.Trailing)是相对于保证金
取消选中后,问题得到解决,所以我不必使用宽高比!好极了
因为使用https://github.com/krptia/chatBubbleTest也会导致一些问题。
有时它会尝试将文本分成新行(最少2个单词),但如果单元格被重用,那么应用程序可能会为视图计算错误的高度。
第一张图片:Align leading to Superview
Constant: 0
Priority: 1000
Multiplier: 0.25
- - - - - - - 第二张图片:Line Break: Word Wrap
Word Wrap
也许这个问题可以用layoutIfNeeded()解决,或者我不知道。剪辑对我来说很好
嗯..我意识到问题仍然存在......我不明白为什么。
还是想弄清楚..