UINavigationController Style - PullRequest
       4

UINavigationController Style

5 голосов
/ 21 марта 2011

Я создал в коде UINavigationController, но я хочу изменить стиль на черный полупрозрачный

FirstViewController *fvc = [[FirstViewControlelr alloc] init];
UINavigationController *navcon = [[UINavigationController alloc] init];
navcon.navigationController.navigationBar.barStyle = UIBarStyleBlackTranslucent;
[navcon pushViewController:fvc animated:NO];
[self.window addSubview:navcon.view];
[self.window makeKeyAndVisible];
return YES;

Но он не меняется. Помогите мне, пожалуйста!

1 Ответ

15 голосов
/ 21 марта 2011

Я подозреваю, что это как-то связано с тем, что у вас есть доступ к навигационному контроллеру контроллера навигации. Ваш навигационный контроллер не находится в другом навигационном контроллере, поэтому вы устанавливаете стиль панели для чего-то, чего там нет.

Вы хотите это:

navcon.navigationBar.barStyle = UIBarStyleBlackTranslucent;

Также вы можете создать контроллер навигации и немедленно инициализировать его с помощью контроллера корневого представления, чтобы вам не приходилось вставлять его вручную, например:

FirstViewController *fvc = [[FirstViewController alloc] init];
UINavigationController *navcon = [[UINavigationController alloc] initWithRootViewController:fvc];
[fvc release];

navcon.navigationBar.barStyle = UIBarStyleBlackTranslucent;

[self.window addSubview:navcon.view];
[self.window makeKeyAndVisible];

return YES;

И да, вы забыли выпустить fvc в своем собственном коде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...