2013-03-18 26 views
1

我有這樣的代碼,創建簡單的UILabel一些文字和默認字體爲什麼自定義字體會移動文本(改變垂直對齊)?

 self.reviewCountLabel = [[UILabel alloc] initWithFrame:someFrame]; 
     self.reviewCountLabel.text = @"1231 REVIEWS"; 
     self.reviewCountLabel.textAlignment = NSTextAlignmentRight; 
     self.reviewCountLabel.backgroundColor = [UIColor lightGrayColor]; 
//  self.reviewCountLabel.font = [UIFont fontWithName:kSTGFontAvantGardeBold size:18]; 
     [self addSubview:self.reviewCountLabel]; 

在屏幕上我得到這樣的:

enter image description here

,但如果我取消註釋代碼添加自定義字體我會得到這個:

enter image description here

有人可以解釋爲什麼我在這裏垂直對齊嗎? (或幫助解決這個問題)

回答

1

它可能沒有對齊頂部,但新字體的幾何體(上行,基線等)與系統字體不同。在這方面,並不是所有的字體都像其他字體一樣乾淨。

您可以使用Apple's Font Tool Suite,特別是ftxdumperfuser命令來調整幾何圖形。 Here is an older SO post有非常詳細的描述如何使用該工具來解決您的問題。