你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> ios label 自動計算行高詳解

ios label 自動計算行高詳解

編輯:IOS開發綜合

此篇文章將要引見IOS label 自動計算行高詳解的文章,詳細辦法請看引見

在OC當中自動計算行高次要調用零碎的

- (--boundingRectWithSize:(CGSize)size options:(NSStringDraWingOptions)options attributes:(nullable NSDictionary<NSString *, id> *)attributes context:(nullable NSStringDraWingContext *)context NS_AVAILABLE(10_11, 7_0);

不同的IOS零碎下 相反字體的高度大小是不同的 所以不能設置詳細的高度值來做限制

處理方法:

    label.text = @"xijoaiogioaiogioioaig";
    label.numberOfLines = 2;
    NSMutableParagraphStyle *style = [[NSMutableParagraphStyle alloc]init];
    style.maximumLineHeight = 20;
    style.minimumLineHeight = 20;
    CGRect rect = [label.text boundingRectWithSize:CGSizeMake(Screen_W - 125, 20*2) options: NSStringDraWingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading attributes:@{NSFontAttributeName:_comName.font,NSParagraphStyleAttributeName:style} context:nil];
    _height = rect.size.height;

上面是對該辦法的詳解

size:label或文本顯示的寬高,通常在自動計算寬高時 若寬度固定為某一值100 則設置為CGSizeMake (100,MAXFLOAT) 若高度固定為某一值100,則設置為CGSizeMake (MAXFLOAT,100)若寬高都確定則都設置為詳細值

options:

文本繪制時的附加選項。有四品種型:1.NSStringDrawingTruncatesLastVisibleLine2.NSStringDrawingUsesLineFragmentOrigin3.NSStringDrawingUsesFontLeading4.NSStringDrawingUsesDeviceMetrics通常運用NSStringDrawingUsesLineFragmentOriginNSStringDrawingUsesLineFragmentOrigin,整個文本將以每行組成的矩形為單位計算整個文本的尺寸。

NSStringDrawingUsesFontLeading則以字體間的行距(leading,行距:從一行文字的底部到另一行文字底部的間距。)來計算。

NSStringDrawingTruncatesLastVisibleLine或許NSStringDrawingUsesDeviceMetric,那麼計算文本尺寸時將以每個字或字形為單位來計算。

attributes:基本文字的哪一種屬性來停止計算

context:文字顯示的像素 普通傳nil采用零碎默許

注:運用該辦法時, 靜態計算高度不能設置adjustToSize(該辦法限制為一行)

多多關注本站,我們將為您搜集更多的Android開發相關文章.

【ios label 自動計算行高詳解】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved