我可以使用以下代码在应用程序委托 didFinishLaunchingWithOptions 方法中将导航栏的背景设置为自定义图像:
UIImage *navBarImage;
navBarImage = [UIImage imageNamed:@"navbar.png"];
[[UINavigationBar appearance] setBackgroundImage: navBarImage forBarMetrics:UIBarMetricsDefault];
我正在尝试在我的应用程序中添加一个选项,以在切换开关时更改导航栏的背景图像,但它似乎不起作用。是否只能在应用启动时设置背景图像?应用程序启动后如何执行此操作?
这是我的代码:
- (void) switchChanged:(id)sender {
UISwitch* switchView = sender;
if (switchView.isOn) {
UIImage *navBarImage = [UIImage imageNamed:@"black_nav.png"];
[[UINavigationBar appearance] setBackgroundImage: navBarImage forBarMetrics:UIBarMetricsDefault];
}
else {
UIImage *navBarImage = [UIImage imageNamed:@"white_nav.png"];
[[UINavigationBar appearance] setBackgroundImage: navBarImage forBarMetrics:UIBarMetricsDefault];
}
}