1. 程式人生 > >【iOS技術文章】iOS Label的幾種樣式

【iOS技術文章】iOS Label的幾種樣式

 一、新增自定義字型:

  因為系統自帶字型的侷限性,有時候我們在開發中需要新增一些特殊要求的自定義字型。

  首先我們先要去網上下載我們所需要的自定義字型,字尾名是 otf 的。

iOS Label的幾種樣式,看完就會用

下載字型

  下載好之後,把這個 otf 檔案直接拖進工程當中。

iOS Label的幾種樣式,看完就會用

新增 otf 檔案

  點選這個 otf 檔案,可以看到字型是什麼樣的(如上圖右邊所示)。

  接著,我們需要配置好 Info.plist 檔案,新增 Fonts provided by application 欄位,型別為 Array,下面是我們需要新增的字型名。

iOS Label的幾種樣式,看完就會用

配置 Info.plist 檔案

  做完這些,我們可以檢視一下,是否現在系統中已經添加了我們拖進來的字型,列印所有字型看一下。

iOS Label的幾種樣式,看完就會用

列印所有字型

  OK,確認已經成功,那現在我們就可以使用這個自定義的字型了。

  
// 自定義字型

label.font = [UIFont fontWithName:@"Fh_Scribble" size:18];

  效果如下:

iOS Label的幾種樣式,看完就會用

自定義字型

  二、部分字型改變顏色或 Font

  1、改變顏色

iOS Label的幾種樣式,看完就會用

改變顏色

  2、改變 Font

  這兩個基本一樣,就是改一下里面的欄位名就可以了。

iOS Label的幾種樣式,看完就會用

改變 Font

  可以看一下展示效果:

iOS Label的幾種樣式,看完就會用

部分字型改變顏色或 Font

  三、左右兩端對齊

  一般像我們平時要麼是左對齊,要麼是右對齊,或者是居中,但是如果是展示的是英文的話,會因為單詞的長短,導致自動換行,後面經常會長短不一,影響 UI 美觀。

  雖然我們設定的時候有這個屬性 label2.textAlignment = NSTextAlignmentJustified;

  但是當我們設定完會發現沒效果。

  如果需要設定左右兩端對齊,需要這樣:

iOS Label的幾種樣式,看完就會用

設定左右兩端對齊

  方便大家,附上程式碼:


NSMutableAttributedString *changeColorString1 =[[NSMutableAttributedString alloc]initWithString:label2.text]; 
NSMutableParagraphStyle *style = [[NSMutableParagraphStyle alloc] init];
style.alignment = NSTextAlignmentJustified; // 對齊方式, 設定為兩端對齊。
style.paragraphSpacing = 0; // 段落後的間距
  style.paragraphSpacingBefore = 0; // 段落前的間距
  style.firstLineHeadIndent = 0; // 段落第一句縮排
  style.headIndent = 0; // 頭部縮排(不包括段落第一句)

NSDictionary *styleDic = @{NSForegroundColorAttributeName : [UIColor blackColor], 
NSFontAttributeName : label2.font, 
NSParagraphStyleAttributeName : style, 
NSUnderlineStyleAttributeName : [NSNumber numberWithInt:NSUnderlineStyleNone]};
  [changeColorString1 setAttributes:styleDic range:NSMakeRange(0, label.text.length)];

label2.attributedText=changeColorString1;

  可以比較一下效果:

iOS Label的幾種樣式,看完就會用
設定兩端對齊效果