gpt4 book ai didi

ios - AutoLayout + heightForRowAtIndexPath/sizeWithFont 无法正常工作

转载 作者:行者123 更新时间:2023-11-29 10:53:02 26 4
gpt4 key购买 nike

我有一个带有以下 AutoLayout 的自定义单元格:

    NSMutableArray *constraints = [NSMutableArray new];
[constraints addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-10-[descriptionLabel]-35-|" options:0 metrics:nil views:views]];
[constraints addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-10-[descriptionLabel]-10-|" options:0 metrics:nil views:views]];
[self.contentView addConstraints:constraints];

在我的 tableViewDelegate 中,heightForRowAtIndexPath: 是这样计算的:

return [cell.descriptionLabel systemLayoutSizeFittingSize:UILayoutFittingCompressedSize].height + 20;

不幸的是,当我的文本换行时它不起作用 - 它只适用于没有换行的文本单元格。我错过了什么?

最佳答案

当我在 iOS7 中第一次遇到这个问题时,我尝试了所有可能的方法来正确估计包装文本或属性文本的大小。

看来唯一准确的方法是 sizeThatFits:

label.text = @"...";
CGSize s = [label sizeThatFits:CGSizeMake(label.frame.size.width, CGFLOAT_MAX)];

关于ios - AutoLayout + heightForRowAtIndexPath/sizeWithFont 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19629538/

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