簡體   English   中英

AutoLayout + heightForRowAtIndexPath / sizeWithFont無法正常工作

[英]AutoLayout + heightForRowAtIndexPath/sizeWithFont not working correctly

我有一個具有以下自動版式的自定義單元:

    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)];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM