我已經做了大量的搜索/閱讀/測試,並且找不到解決此問題的方法。 我已經嘗試過iOS 4.3,但它仍未在iOS7中解決。UILabel中的字體不正確 - Ascender或Descender被裁剪
問題是這樣的:大尺寸的字體可以在UILabel中剪切上升或下降的字體。 這裏直接從Xcode的5.1 UI是截圖(沒有代碼在所有!)顯示的問題 - 字體大小300點:
正如你可以看到,即使是簡單的字體像Helvetica Neue字體(粗體或不)它有下降的裁剪。 (你正在看UIViewController> UIView> UILabel)
如果你嘗試這個,然後改變點的大小,你會看到字體縮小,最終不會裁剪下降。這在160點又是:
還要注意,某些字體沒有得到裁剪和別人 - 嘗試值得注意的是,紙莎草或或薩沃耶LET - 所有這些都是標準的iOS &字體.. ..
我談論身高在這裏 - 我知道我可以使用adjustsFontSizeToFitWidth = YES看到整個長度,我也知道我可以使用sizeToFit,但既不保證沒有上升器/下降的裁剪。
還要注意的是使用計算上升器/下降值不會幫助爲主要議題的高度,字體是不是標籤內垂直居中當它被繪製。 (如果是的話,這將是一個簡單的計算。)
所以,這裏是一個問題:我如何顯示字體儘可能高,並保證不會裁剪上升/下降,無論使用何種字體?
編輯: 我重新讀我的問題,並意識到我沒有正確地問 - 我能夠調整標籤以適應字體 - 這不是問題。下面是修改後的問題:
如何在UILabel中儘可能大地繪製文本,並確保其垂直居中,而不裁剪Ascender或Descender?
我可以很容易地找出文本的整體高度,一旦我知道它將適合,如何在UILabel中繪製垂直居中?
例如:在第一個屏幕截圖中,文本「Tg」被裁剪,但它很容易短到可以在標籤中垂直放置。事實上,它可能會更大,如果適當居中,它仍然適合。但我知道沒有辦法垂直居中...
Jeely - 謝謝,但在審查我的問題後,我認爲我需要重述它。我能夠增加標籤的大小以適應字體 - 這不是真正的問題 - 請參閱我的更新。對困惑感到抱歉。 – wayneh