NSString其實也有內建提供這個方法
以下是Objective-C的範例:
+ (CGSize)getSizeFromString:(NSString*)str withFont:(UIFont*)font{
return [str sizeWithAttributes:@{
NSFontAttributeName : font
}];
}
這個method只要輸入NSString和UIFont,就可以得到String的尺吋(以CGSize回傳,有該String將要顯示的width或是height)
而Swift要測量的話,要先轉成NSString,且AttributteName也有所修改
如下
func getSizeFromString(string:String, withFont font:UIFont)->CGSize{
let textSize = NSString(string: string ?? "").sizeWithAttributes(
[ NSFontAttributeName:font ])
return textSize
}
