#13 研究顯示文字的 UILabel(hw#2–5)
結論整理:
- Line Breaks,用預設 Truncate Tail 的就行了
- Autoshrink 用預設的 Fixed Font Size 就行,或是如果有自動調整,選Minimum Font Scale 最小字體比例
- Shadow 陰影,應該就是小小偏移一下就好,如果在 table view cell 裡可以加 Highlighted 強調一下點擊時的文字效果。
先拉一個 UILabel,設定一下背景色,因為要測換行效果,所以 Lines 要大於1, 先設成2, 然後貼一段會超過容器的內容進去
iPhone 15 Pro 是首款支援 USB 3 的 iPhone,不但資料傳輸速度跨步提升,專業工作流程更是空前快速。
先察看一下 Line Breaks,預設是 Truncate Tail
可以看到 Line Breaks 選項分為三大塊,我們先觀察各種設定的效果
換行
Character Wrap 以字母為單字換行,下圖 “iPhone” 的 e 被換到下一行。
Word Wrap 以字為單位換行,如果容器的左邊放不下一整個單字,就換到下一行
換行裁切
Clipping 直接裁切放不下的內容, 字可能被切到部份,顯示不完整的字。像”業”就被切掉一部份。但因為只有在最後一行會放不下,可以換行的部份看起來預設是 Word Wrap。
省略
Truncate Head 省略號在開頭處,最後一行,保留剩下的內容最尾端的字。
Truncate Middle 省略號字形在中間,最後一行,保留剩下的內容前後端的字。
Truncate Head 省略號行末尾,最後一行,保留剩下的內容開頭的字。
相關的API可以看 NSLineBreakMode
Autoshrink
看一下Apple的文件說明:adjustsFontSizeToFitWidth
通常,標籤會使用您在字體屬性中指定的字體繪製文字。 如果此屬性為 true,且文字屬性中的文字超出了標籤的邊界矩形,則標籤會減少字體大小,直到文字適合或將字體縮小到最小字體大小。
該屬性的預設值為 false。 如果將其變更為 true,請確保也透過修改minimumScaleFactor 屬性來設定適當的最小字體比例。
此自動收縮行為僅適用於單行標籤。 若要在 Interface Builder 中啟用 adjustmentFontSizeToFitWidth,請從標籤屬性檢視器的「自動縮小」彈出式功能表中選擇「Minimum Font Scale 最小字體比例」。
從上面的說明,可以知道,自動收縮行為僅適用於單行標籤,所以看上圖,當設定 Lines 為 1 時,才會發揮作用。
看一下Apple的文件說明:minimumFontSize (Deprecated)
已棄用:請使用minimumScaleFactor 代替。
繪製標籤文字時允許的最小字體大小。
當繪製可能不適合標籤邊框的文字時,您可以使用此屬性來防止標籤將字體大小減小到不再清晰的程度。 該屬性的預設值為 0.0。 如果您啟用標籤的字體調整,則應始終增加該值。 此屬性僅在 numberOfLines 為 1 時有效。
看官方文件,他是建議我們使用 Minimum Font Scale 最小字體比例。
Shadow (文字的陰影)
Highlighted:Label放在Table View的Cell時,點選後會有強調效果。
Shadow:設定文字的陰影顏色
Shadow offset:設定文字陰影和文字顏色偏離的距離