2015-07-15 8 views
0

Я использую два шрифта в заголовке панели навигации. Один из них - Eurostile, а другой - Museo Sans. Для моего домашнего экрана я использую Eurostile и остальные экраны, которыми я пользуюсь шрифтом Museo Sans. Я использую приведенный ниже код для настройки шрифта заголовка домашнего экрана.Изменения шрифта UINavigationBar

[[UINavigationBar appearance] setTitleTextAttributes: @{ 
    UITextAttributeTextColor: [UIColor whiteColor], 
    UITextAttributeFont: [UIFont fontWithName:@"Eurostile" size:25.0f] 
}]; 

Проблема я столкнулся в том, когда я загрузить приложение, в главном экране он показывает шрифт Eurostile правильно. После открытия контроллера модального просмотра и при его закрытии сразу же шрифт главного экрана меняется на шрифт Museo Sans ... Он не отображает шрифт Eurostile правильно на главном экране.

ImagesGallery *galleryViewControler = [[ImagesGallery alloc] init]; 
galleryViewControler.LoginID= LoginID; 
galleryViewControler.LoginUsername= LoginUserName; 
galleryViewControler.delegate = self; 
[self presentModalViewController:galleryViewControler animated:YES]; 

Я хочу, чтобы шрифт Eurostile на главном экране даже после перехода к другим представлениям. Может ли кто-нибудь помочь мне в этом отношении.

+0

Если думаете, что probelm шрифта, пожалуйста, проверьте имя шрифта в проекте –

+1

Если имя шрифта неправильные средства в первую очередь домашнее название будет с неправильным шрифтом –

ответ

0

Я предполагаю, что вы вызываете следующий код в своем модульном контроллере.

[[UINavigationBar appearance] setTitleTextAttributes: @{ 
    UITextAttributeTextColor: [UIColor whiteColor], 
    UITextAttributeFont: [UIFont fontWithName:@"Museo Sans" size:25.0f] 
}]; 

Этот код будет установлен внешний ALL UINavigationBars' в вашем приложении.

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

В качестве решения вы можете изменить шрифт заголовка навигационной панели в viewDidAppear и изменить его на все, что по умолчанию используется в приложении в viewDidDisappear.

+0

За исключением главного экрана, я использую шрифт Museo Sans во всех других Представлениях. Я также использую navigationController для перехода к другим представлениям. В то время шрифт не меняется. Только когда я использую Modal View, в это время на главном экране меняется только шрифт. Это выглядит очень странно. –

+0

Можете ли вы объяснить, как вы устанавливаете шрифт глобально для других видов? – Jakehao

0

Попробуйте

// HomeScreenViewController

-(void)viewWillAppear() { 
    [[UINavigationBar appearance] setTitleTextAttributes: @{ 
    UITextAttributeTextColor: [UIColor whiteColor], 
    UITextAttributeFont: [UIFont fontWithName:@"Eurostile" size:25.0f] 
                  }]; 
} 

// AnotherViewController

-(void)viewWillAppear() { 
    [[UINavigationBar appearance] setTitleTextAttributes: @{ 
    UITextAttributeTextColor: [UIColor whiteColor], 
    UITextAttributeFont: [UIFont fontWithName:@"Museo Sans" size:25.0f] 
                  }]; 
} 
0

меня проверить свою intention, я не доверяю, что ваш project framework не установлен рационально.

В моей test я покажу вам мой смысл:

step01 set <code>nav1</code>'s font set <code>nav2</code>'s font nav1's controller <code>present</code> and <code>dismiss</code>

Смежные вопросы