1

我正在调用sizeThatFits:ImageView 子类中的 UILabel,我发现错误是sizeThatFits:. 在 iOS 5 上我得到 3 行,在 iOS 6 上得到 1 行。

CGSize labelSize = [mTitleLabel sizeThatFits: CGSizeMake(self.bounds.size.width, 30)];
CGFloat lines = ceil(labelSize.width/self.frame.size.width);

我尝试通过调用以下方法自己进行计算,但在两个版本上我得到的都是 7 而不是 3。

float lines = mTitleLabel.frame.size.height/mTitleLabel.font.lineHeight;
lines = ceilf(lines);
4

1 回答 1

2

似乎 sizeThatFits: 在 iOS5 中被破坏了,忽略了行数。

NSString * 标题 = ...; CGSize sizeToFit = [title sizeWithFont:label.font constrainedToSize:label.frame.size lineBreakMode:label.lineBreakMode];

于 2013-03-13T21:25:46.313 回答