【iOS技術文章】iOS Label的幾種樣式
阿新 • • 發佈:2019-02-06
一、新增自定義字型:
因為系統自帶字型的侷限性,有時候我們在開發中需要新增一些特殊要求的自定義字型。
首先我們先要去網上下載我們所需要的自定義字型,字尾名是 otf 的。
下載字型
下載好之後,把這個 otf 檔案直接拖進工程當中。
新增 otf 檔案
點選這個 otf 檔案,可以看到字型是什麼樣的(如上圖右邊所示)。
接著,我們需要配置好 Info.plist 檔案,新增 Fonts provided by application 欄位,型別為 Array,下面是我們需要新增的字型名。
配置 Info.plist 檔案
做完這些,我們可以檢視一下,是否現在系統中已經添加了我們拖進來的字型,列印所有字型看一下。
列印所有字型
OK,確認已經成功,那現在我們就可以使用這個自定義的字型了。
// 自定義字型
label.font = [UIFont fontWithName:@"Fh_Scribble" size:18];
效果如下:
自定義字型
二、部分字型改變顏色或 Font
1、改變顏色
改變顏色
2、改變 Font
這兩個基本一樣,就是改一下里面的欄位名就可以了。
改變 Font
可以看一下展示效果:
部分字型改變顏色或 Font
三、左右兩端對齊
一般像我們平時要麼是左對齊,要麼是右對齊,或者是居中,但是如果是展示的是英文的話,會因為單詞的長短,導致自動換行,後面經常會長短不一,影響 UI 美觀。
雖然我們設定的時候有這個屬性 label2.textAlignment = NSTextAlignmentJustified;
但是當我們設定完會發現沒效果。
如果需要設定左右兩端對齊,需要這樣:
設定左右兩端對齊
方便大家,附上程式碼:
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;
可以比較一下效果: