UIImage *gradientImage46 = [[UIImage imageNamed:@"navbar.png"]resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)];
[UINavigationBar appearance] setBackgroundImage:gradientImage46
forBarMetrics:UIBarMetricsDefault];
我使用它来自定义我的应用程序中导航栏的外观。但是,这导致状态栏显示为黑色,没有显示任何内容......时间,载体,电池等。这是一个错误,还是我实现了这个错误?
我使用MainWindow.xib方法在标签栏中运行此接口。第一个选项卡只是一个导航控制器,里面有一个视图控制器。另一个选项卡是一个带有TableView控制器的导航控制器。如果我从一个选项卡转到表格视图,然后返回,则会显示状态栏。
navbar.png是320 x 44像素。
答案 0 :(得分:3)
我也有这个问题将我的应用程序从iOS 6带到iOS7,我通过这种方式更改代码解决了这个问题:
代替
[UINavigationBar appearance] setBackgroundImage:gradientImage46
forBarMetrics:UIBarMetricsDefault];
我用
-(void) viewWillAppear:(BOOL)animated {
[self.navigationController.navigationBar setBackgroundImage:gradientImage46 forBarMetrics:UIBarMetricsDefault];
}