我有一個字符串,我想在一個表格單元格的標籤,以顯示兩個可能的寬度,我需要計算使表格單元格的高度正確記錄的高度。然而,不管我爲約束尺寸做什麼,我都會得到相同的高度,這在我想要的情況下是不正確的。我正在使用的代碼:爲什麼sizeWithFont:constrainedToSize:lineBreakMode:返回大小不正確?
CGFloat width = 300.0f;
NSString * value = @"LongText LongText LongText LongText LongText LongText";
CGSize contentSize = [value sizeWithFont: [UIFont systemFontOfSize: 14.0f]
constrainedToSize: CGSizeMake(width, CGFLOAT_MAX)
lineBreakMode: UILineBreakModeWordWrap];
當我檢查contentSize變量時,寬度爲252,高度爲36,這是預期的。但是,如果不是300.0fi將222.0f插入到寬度變量中,則寬度爲189,但高度仍然爲36,並且只有前4個LongText字樣顯示在2行上(第三行似乎在某些情況下被切斷計算)。有誰知道爲什麼會發生這種情況?
如果您使用的是UITextView,請在這裏查看我的答案:http://stackoverflow.com/questions/2330939/sizewithfont-doesnt-give-correct-height-for-uitextview-if-there-is -a-long-strin/15408198#15408198 – domsom