Как вертикально корректировать текстовую позицию titleView navigationBar при использовании пользовательского шрифта?

Мы используем пользовательские шрифты для titleView в панели навигации. Каким-то образом Apple всегда слишком сильно рисует этот шрифт.

Как мне исправить это странное смещение, которое вы получаете, когда используете пользовательские шрифты в навигационной панели?

Ответ 1

Я использовал setTitleVerticalPositionAdjustment:forBarMetrics:.

Совместимость:, начиная с iOS 5.

Ответ 2

Вы можете установить новое представление как titleView, а затем добавить к нему новый ярлык:

UIView * customTitleView = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 200.0f, 40.0f)];

UILabel * customLabel = [[UILabel alloc] initWithFrame:CGRectMake(0.0f, 20.0f, 200.0f, 20.0f)];
[customLabel setBackgroundColor:[UIColor clearColor]];
[customLabel setTextColor:[UIColor whiteColor]];
[customLabel setFont:[UIFont systemFontOfSize:12.0f]];
[customLabel setTextAlignment:UITextAlignmentCenter];
[customLabel setText:@"Your Text"];
[customTitleView addSubview:customLabel];
[customLabel release];

[self.navigationItem setTitleView:customTitleView];
[customTitleView release];