1

sizeThatFits:ImageViewサブクラスのUILabelを呼び出していますが、エラーがであることがわかりましたsizeThatFits:。iOS 5では3行、iOS6では1行になります。

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

次のメソッドを呼び出して自分で計算しようとしましたが、両方のバージョンで3ではなく7を取得しています。

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

1 に答える 1

2

sizeThatFits: は、行数を無視して、iOS5 で壊れているようです。

NSString * タイトル = ...; CGSize sizeToFit = [タイトル sizeWithFont:label.font ConstrainedToSize:label.frame.size lineBreakMode:label.lineBreakMode];

于 2013-03-13T21:25:46.313 に答える