我知道有很多類似於此的線程,但我已經閱讀了所有這些(據我所知),並沒有看到我遇到的同樣的問題。強制文字垂直放入UILabel中?
我試圖讓所有的文本顯示在標籤VERTICALLY。
讓我解釋一下 - 字體並不總是產生同樣的方式,因此而他們的總高度可以是相同的(24pts,例如)。然而,Ascender和Descender差別很大 - 一種字體可能大部分在基線以上,而另一種字體大多在基線以下。因此,具有不同字體的相同文本可能並不總是顯示在相同的視圖/標籤中。
例如,請參閱下面的屏幕截圖。
第一個是Helvetica-Bold 300pts。 第二個是蘋果哥特式300pts。
公告的「G」的底部是如何切斷與黑體(和許多其他的字體太 - 試試吧,你會看到)。
所以我的問題是這樣的:我希望能夠看到整個文本,無論字體。 如果「Helvetica」示例中的文本可以在標籤內上移(居中),它將解決我的問題。爲了更容易,我只需要顯示一行。
不幸的是,沒有一個是我見過的解決方案涉及的伸和字體的字母上,並找出如何在矩形內繪製文本,而不是把它裁剪。請注意,各種線程中的「VerticalAlignment」解決方案不能解決此特定問題。
有沒有人有任何想法或解決方案呢?
謝謝,但我發佈的圖像已經是使用VerticalAlignment和'sizetofit'進行子類化的結果。字體大小不是問題 - 正如你所看到的那樣,文本有很大的空間 - 它沒有正確對齊。 – wayneh 2012-02-03 14:23:44
好的,但看看sizeWithFont方法會給你的字符串的高度,如果你知道,你可以自己居中,然後用drawStringAtPoint繪製字符串。只需閱讀鏈接 - 它爲您提供了完成該任務所需的一切。 – sosborn 2012-02-04 02:56:48
好吧,我會檢查出來,看看我能做些什麼。 – wayneh 2012-02-04 13:35:30