gpt4 book ai didi

ios - sizeToFit 不会触发包含长单词的新行

转载 作者:行者123 更新时间:2023-11-29 04:40:08 26 4
gpt4 key购买 nike

我刚刚遇到了奇怪的问题,我有一个具有动态高度的自定义表格 View 单元格。虽然测试这一切似乎工作正常,但现在我将真实内容加载到其中似乎存在一些问题。

某些文本似乎不会触发 UILabel 中的新行

正确:http://dl.dropbox.com/u/274185/Screen%20Shot%202012-05-09%20at%201.15.21%20PM.png错误:http://dl.dropbox.com/u/274185/Screen%20Shot%202012-05-09%20at%201.15.30%20PM.png

正如您在错误示例中看到的,文本被推到了第二行,但标签的高度仍然只算一行。

item.project = @"Another Test Project With Longer Title (Admin / Project Management)";

item.project = @"Test Project (Admin / Project Management)";

我计算高度的方式是这样的:

// when creating the cell
cell.projectLabel.lineBreakMode = UILineBreakModeWordWrap;
cell.projectLabel.numberOfLines = 0;
[cell.projectLabel sizeToFit];

// in heightForRowAtIndexPath()
CGSize projectHeight = [item.project sizeWithFont:[UIFont boldSystemFontOfSize:13.0f] constrainedToSize:CGSizeMake(320.0f, CGFLOAT_MAX) lineBreakMode: UILineBreakModeWordWrap];

我尝试更改 lineBreakMode,但这似乎没有多大帮助

编辑:计算文本高度时似乎有问题,我使用了固定的320点,这是不正确的,使用实际宽度后,高度计算正确。

CGSize projectHeight = [item.project sizeWithFont:[UIFont boldSystemFontOfSize:13.0f] constrainedToSize:CGSizeMake(cell.projectLabel.bounds.size.width, CGFLOAT_MAX) lineBreakMode: UILineBreakModeWordWrap];

最佳答案

相信 sizeToFit 只会缩小 View 的大小。您应该将标签的框架设置为足够高以容纳两行,然后调用 sizeToFit。当文本只有一行时,这将缩小标签,但当文本为两行时,它会保持其高度。

关于ios - sizeToFit 不会触发包含长单词的新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10510264/

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