2014-01-07 29 views
0

我試圖使用自定義字體創建UIButton。我設置了titleLabel's字體,然後設置我的文字,然後撥打sizeToFit。不幸的是,它將高度調整爲幾個像素太小,並削減每個大寫字母的一部分。按鈕的titleLabel的高度小於按鈕本身的高度,但在調用sizeToFit後手動設置框架對我來說沒有任何幫助。我注意到從一個普通的UILabel相同的行爲,除非我手動將框架設置爲我的UIButton的大小,文本顯示完美。當我撥打sizeToFit時,UILabel的大小與UIButton'stitleLabel的大小相同,並且它也切斷了大寫字母的頂部。此外,由於這是一個SpriteKit SKView我正在添加這些按鈕,我還創建了一個SKLabelNode以查看它是如何處理自動調整字體大小的,並且它做了一個完美的工作,其高度比我的UILabel和我的高度高几個像素UIButton's titleLabel身高。下面是一個imgur專輯直觀地表現出來,它是明顯的S和小寫字母i的點睛:當調用sizeToFit時,UIButton無法正確調整自定義字體的高度

http://imgur.com/a/fy5st

有沒有人有什麼原因導致這種情況發生的任何想法?

回答

1

如果任何人遇到同樣的問題並且遇到這個問題,我簡單地通過繼承UIButton來找出解決方案。然後,我只修改了layoutSubviews,以便titleLabel邊界等於按鈕的子視圖,並且不再切斷字體的頂部。不知道這是不是最好的方式,但它的工作原理。

- (void)layoutSubviews 
{ 
    [super layoutSubviews]; 
    self.titleLabel.bounds = self.bounds; 
} 
相關問題