計算文本長度-boundingRectWithSize


- (void)viewDidLoad {
    [super viewDidLoad];
  //新建lable控件
UILabel *lable=[[UILabel alloc]init]; lable.backgroundColor=[UIColor orangeColor];
  //設置字體大小 UIFont
*font=[UIFont systemFontOfSize:15]; lable.text=@"hello world!"; lable.font=font;
  //自動換行 lable.numberOfLines
=0;

  //設置文本范圍。200代表寬度最大為200,到了200則換到下一行;MAXFLOAT代表長度不限 CGSize strSize
=CGSizeMake(200, MAXFLOAT);
  //需跟lable字體大小一直,否則會顯示不全等問題 NSDictionary
*attr=@{NSFontAttributeName:font}; CGSize lableSize=[lable.text boundingRectWithSize:strSize options:NSStringDrawingUsesLineFragmentOrigin attributes:attr context:nil].size; lable.frame=CGRectMake(100, 100, lableSize.width, lableSize.height); [self.view addSubview:lable];
}
boundingRectWithSize屬性:限定文本在固定范圍內進行顯示
options屬性:
NSStringDrawingTruncatesLastVisibleLine:

如果文本內容超出指定的矩形限制,文本將被截去並在最后一個字符后加上省略號。如果沒有指定NSStringDrawingUsesLineFragmentOrigin選項,則該選項被忽略

NSStringDrawingUsesLineFragmentOrigin:

繪制文本時使用 line fragement origin 而不是 baseline origin

NSStringDrawingUsesFontLeading:
計算行高時使用行距(譯者注:字體大小+行間距=行距)
NSStringDrawingUsesDeviceMetrics:
計算布局時使用圖元字形(而不是印刷字體)
attributes屬性:字體屬性,見NSAtrributedString.h文件
context屬性:文本上下文。可調整字間距以及縮放等。最終,該對象包含的信息將用於文本繪制。該參數可為nil
 
 

 


免責聲明!

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



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