我在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/