2013-10-15 1 views
0

Под iOS 7 Я хотел бы заменить текстовое представление заголовка на панели навигации специальным представлением, которое включает другое текстовое представление, которое выглядит идентично стандарту. (По сути, мне нужно добавить другое представление к элементу title, но для этого мне нужно заменить все это).Репликация текста заголовка навигационной панели iOS7

Как я могу создать UILabel, который гарантированно выглядеть так же, как по умолчанию (тот же шрифт, размер и т.д.?)

Другими словами - как я могу программно найти начертание и размер шрифта, используемый ОС для названия заголовка панели навигации.

ответ

0
UILabel *titleLabel=[[UILabel alloc] initWithFrame:CGRectMake(30, 0, 100, 40)]; 
[titleLabel setBackgroundColor:[UIColor redColor]]; 
[titleLabel setFont:[UIFont systemFontOfSize:14]]; 
[titleLabel setTextColor:[UIColor blackColor]]; 
[titleLabel setText:@"Rajneesh071"]; 
[self.navigationItem.titleView addSubview:titleLabel]; 

Если вы хотите использовать свой собственный шрифт, вы можете использовать его.

[UIFont fontWithName:@"FontName" size:14] 

Вы можете получить имя шрифта с помощью this.This напечатает HelveticaNeueInterface-M3

NSLog(@"%@", [UIFont systemFontOfSize:14].fontName); 

И размер

NSLog(@"%f",[UIFont systemFontSize]); 

Выполните этот ответ How to use custom fonts in iPhone SDK?

+0

Без не установив шрифт, ничего этого дисплея вообще. Суть моей проблемы заключается в том, как использовать тот же шрифт, что и iOS. В настоящее время я делаю это: titleLabel.font = [UIFont preferredFontForTextStyle: UIFontTextStyleHeadline]. Это похоже на работу, но нет гарантии – tarmes

+0

systemFontOfSize: это решит вашу проблему, проверит отредактированный ответ – Rajneesh071

+0

Это не будет гарантировать. Что произойдет, если яблоко немного изменит размер в обновлении ... – tarmes