我的所有视图都有一个蓝色导航栏,但当我希望用户选择一张照片时,UIImagePicker是黑色的。我尝试使用UIBarStyleDefault将UIImagePickerController的导航栏设置为蓝色,但它对我不起作用,颜色仍为黑色。我尝试过其他UIBarStyle,如UIBarStyleBlack和UIBarStyleOpaque,但它不会改变选择器的导航栏。这是我的代码
// Let the user choose a new photo.
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
imagePicker.delegate = self;
imagePicker.navigationBar.barStyle = UIBarStyleDefault;
[self presentModalViewController:imagePicker animated:YES];
[imagePicker release];
答案 0 :(得分:7)
另一种方法是使用
- (void)navigationController:(UINavigationController *)navigationController
willShowViewController:(UIViewController *)viewController
animated:(BOOL)animated {
navigationController.navigationBar.barStyle = UIBarStyleDefault;
}
这是UINavigationControllerDelegate protocol的实例方法。
这会将导航栏样式更改为蓝色。
答案 1 :(得分:3)
我认为没有办法改变它。所以我的解决方案是使用Color Meter以颜色代码获取默认导航栏的颜色:红色代码,蓝色代码,绿色代码。然后我使用方法
imagePicker.navigationBar.tintColor = [UIColor colorWithRed:redCode green:greenCode blue:blueCode alpha:0.1];
答案 2 :(得分:0)
使用委托更改它对我有用。