1在我們的項目中會經(jīng)常使用到UIImagePickerController這樣我們必須要同意導(dǎo)航欄的顏色
第一種:導(dǎo)航欄顏色:
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
//1.設(shè)置導(dǎo)航欄背景顏色 使用rgb
picker.navigationBar.barTintColor = [UIColor colorWithRed:20.f/255.0 green:24.0/255.0 blue:38.0/255.0 alpha:1];
//設(shè)置右側(cè)取消按鈕的字體顏色
picker.navigationBar.tintColor = [UIColor whiteColor];
// 2.使用圖片
//設(shè)置導(dǎo)航欄背景顏色
[imagePickerController.navigationBar setBackgroundImage:[UIImage imageNamed:@"導(dǎo)航欄"] forBarMetrics:UIBarMetricsDefault];
第二種:統(tǒng)一文字的顏色和樣式
UIImagePickerController 繼承自 UINavigationController, 需求要設(shè)置統(tǒng)一的字體顏色.
百度之后, 試了多種顏色也沒有解決.后來想到有一個方法可以設(shè)置系統(tǒng)統(tǒng)一的樣式: UIAppearance這個協(xié)議.
凡是遵守這個協(xié)議的都可以在AppDelegate中統(tǒng)一設(shè)置整個系統(tǒng)的顏色. 但是不要和UIAppearanceContainer搞混了, UIAppearanceContainer協(xié)議下沒有聲明任何方法.
設(shè)置UIBarButtonItem和UINavigationBar的默認(rèn)文字顏色
[[UIBarButtonItem appearance] setTintColor:[UIColor whiteColor]];
NSMutableDictionary *attrs = [NSMutableDictionary dictionary];
attrs[NSForegroundColorAttributeName] = [UIColor whiteColor];
[[UINavigationBar appearance] setTitleTextAttributes:attrs];
這樣就可以隨意設(shè)置 UIImagePickerController 導(dǎo)航條的樣式了