iOS 手記 - 計算文字高度/寬度:- (CGSize)sizeWithAttributes:(NSDictionary *)attrs


  

計算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));

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM