在iphone開發中處理table時常常會有這樣的問題,table中cell的高度不是固定的,而是是根據其中的內容不同而不同的。對與這種情況,sdk本身並沒有很好的支持,經過一翻摸索,發現大家通常的做法都是在實現 heightForRowAtIndexPath 方法時,根據內容計算出來顯示的高度。
幸運的是,nsstring內置了幾個好用的函數可以方便的計算出來字符串被現實出來時佔有的屏幕高度:
- - (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size;
- - (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size
lineBreakMode:(UILineBreakMode)lineBreakMode; - - (CGSize)sizeWithFont:(UIFont *)font forWidth:(CGFloat)width
lineBreakMode:(UILineBreakMode)lineBreakMode; - - (CGSize)sizeWithFont:(UIFont *)font
minFontSize:(CGFloat)minFontSize
actualFontSize:(CGFloat *)actualFontSize
forWidth:(CGFloat)width
lineBreakMode:(UILineBreakMode)lineBreakMode;