我找不到有關使用UINavigationItem#titleView和自定義字體的信息。 當我這樣做時,導航欄中的字體垂直未對齊。UINavigationItem#titleView對齊問題
此條目部分是爲了記錄黑客,也希望有人對這個問題有一個簡潔的答案,因爲我覺得我缺少一些簡單的東西。
一劈,用我自己的UILabel派生類:
@interface NavigationItemLabel : UILabel
- (void)setFrame:(CGRect)frame;
@end
@implementation NavigationItemLabel
- (void)setFrame:(CGRect)frame {
// Called by UINavigationBar layoutSubviews.
frame.origin.y -= self.font.descender;
}
@end
出於某種原因,frame.origin.y == -11,不管我用什麼字體。 有沒有人有直覺,爲什麼這是?
添加我的字體的下拉(自定義字體稱爲Gabriola)似乎有所幫助。如果沒有這種黑客攻擊,文本將與導航欄中心的下行的底部對齊。
這不適用於所有字體。
有沒有人有更好的解決方案?
謝謝。此外
- (CGFloat)titleVerticalPositionAdjustmentForBarMetrics:(UIBarMetrics)barMetrics
Returns the title’s vertical position adjustment for given bar metrics.
,你應該檢查出titleTextAttributes
(也iOS5的+),你可以用它來設置:
一個可能的線索是Sjors Provoost有關相關問題使用sizeToFit的建議:[鏈接](http://stackoverflow.com/questions/3125245/uinavigationitem-titleview-position) – Wienke 2012-07-04 17:24:59