Swift-UILabel行距(Line Spacing)

Henry Huang
Jun 29, 2021

--

其實這是個滿常需要使用到的功能,這次就用程式來做設定,這只是個簡單範例,真正使用應可做成String的Extension會更方便

在畫面中央放一個UILabel,水平垂直置中,寬高都是200,文字置中,並輸入文字

在畫面上預設會是這樣呈現,可以看到預設已經是滿好看了,但如果行與行之間再多一點距離,看起來會更為舒適。

到程式裡進行設定

建立一個NSNSMutableParagraphStyle1並設定lineSpacing與alignment

建立NSAttributedString,並設定他的attributes裡的.Key.paragraphStyle

將myLabel的attributedText設定

之後的效果

多了那麼一點行距,看起來更好看舒服了~

以下程式碼:

override func viewDidLoad() {super.viewDidLoad()    //使用此style來設定lineSpacing    //這裡要記得如果有設定文字的alignment ,要再次設定,不然會回復到預設靠左    let paragraphStyle = NSMutableParagraphStyle()    paragraphStyle.lineSpacing = 8    paragraphStyle.alignment = .center    //建立attributes及設定attributed.Key.paragraphStyle    let attributes = NSAttributedString(string: myLabel.text!,      attributes: [NSAttributedString.Key.paragraphStyle : paragraphStyle])    //設定label的attributedText    myLabel.attributedText = attributes}

--

--

Henry Huang

大學讀企管/退伍後在業務圈打滾6年後突然有一天決定投入完全沒接觸過的程式設計/目前為一位iOS Developer/熱愛NBA/dafu1231@gmail.com