計算NSString 的 size: - (CGSize)sizeWithAttributes:(NSDictionary<NSString *,id> *)attrs; Parameters: 類型:NSDictionary 文字的屬性字典,例如 NSFontAttributeName 也可以使用 ...
計算NSString 的 size:
- (CGSize)sizeWithAttributes:(NSDictionary<NSString *,id> *)attrs;
Parameters:
類型:NSDictionary
文字的屬性字典,例如 NSFontAttributeName
也可以使用 NSAttributedString 的屬性字典,因為是 NSString 對象,所以設置的是整個 string 的屬性,而非 string的某一段 rangs。
Return Value:
類型:CGSize
返回設置了屬性的文字占用的邊界框大小,即這段文字的寬度與高度。
註意:
返回的是帶小數的 size, 當使用這個 size 去設置 view 的 frame 時, 需要使用ceil() 函數來取 size 的 某個成員(width/height)的整數值。
例:
CGSize titleSize = [tagModel.title sizeWithAttributes:@{NSFontAttributeName: [UIFont systemFontOfSize:8]}]; titleLabel.frame = CGRectMake(0, 0, ceil(titleSize.width), ceil(titleSize.height));