UINavigationController样式

Tun*_*vel 5 xcode objective-c uinavigationcontroller ios

我在代码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;
Run Code Online (Sandbox Code Playgroud)

但他并没有改变.请帮帮我!

Bol*_*ock 15

我怀疑它与你正在访问导航控制器的导航控制器这一事实有关.您的导航控制器不在另一个导航控制器中,因此您要设置不存在的条形样式.

你要这个:

navcon.navigationBar.barStyle = UIBarStyleBlackTranslucent;
Run Code Online (Sandbox Code Playgroud)

您也可以制作导航控制器并立即使用根视图控制器对其进行初始化,这样您就不必手动将其推入,如下所示:

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;
Run Code Online (Sandbox Code Playgroud)

是的,你忘了fvc在你自己的代码中发布.