我在ImageView子类的UILabel上调用sizeThatFits:,我将错误定位为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);

最佳答案

在iOS5中,sizeThatFits:似乎已损坏,忽略了行数。

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

关于ios - sizeThatFits:返回不同的值iOS 5和iOS 6,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13087259/

10-12 03:45