Как я могу вертикально исправить положение текста titleBar в titleView при использовании пользовательского шрифта? - PullRequest
10 голосов
/ 12 декабря 2011

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

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

Ответы [ 2 ]

23 голосов
/ 16 февраля 2013

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

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

13 голосов
/ 12 декабря 2011

Вы можете установить новый вид как 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];
...