UILabel和UITextView文字換行差別

多行文本換行時,通常要求結尾若是是標點符號,標點符號不能單獨佔一行,須要將上一行的最後一個文字將和標點符號一塊兒放在下一行。
設置 lineBreakMode = .byWordWrapping,按單詞分割換行。html

label.lineBreakMode = .byWordWrapping
        label.text    = "1咱們是好人解決辦法解決辦法。"
        
        textView.contentInset = UIEdgeInsetsMake(0, 0, 0, 0)
        textView.contentInsetAdjustmentBehavior = .never
        textView.textContainerInset = UIEdgeInsetsMake(0, -5, 0, -5)
        //textView.textContainer.lineBreakMode = .byCharWrapping 失效
        textView.text = "1咱們是好人解決辦法解決辦法。"









UILabel和UITextView一樣寬度,設置一樣文字,當結尾須要換行時,換行標準會有差別
UILabel若是結尾是一個單詞,他會將這個單詞和標點符號同時換行。
UITextView不會。
swift

Text Programming Guide for iOS 上面提示到:app

  •     UILabel定義標籤,顯示靜態文本字符串
  •     UITextField定義一個文本字段,顯示一行可編輯文本。
  •     UITextView定義文本視圖,顯示多行可編輯文本。

    雖然這些類實際上能夠支持任意數量的文本的顯示,但標籤和文本字段旨在用於相對少許的文本,一般是單行。另外一方面,文本視圖旨在顯示大量文本。
    從UITextView類建立的文本視圖對象,顯示格式爲段落,列和頁面的文本,具備精細排版的全部特徵,例如字距調整,連字,複雜的換行和對齊
ide

因此若是想顯示多行大量文本,建議使用UITextView,可以得到更好的排版佈局
 佈局

相關文章
相關標籤/搜索