2012-05-18 9 views
1

Как установить цвет градиента в UINavigationBar? Я использовал этот код для установки цвета оттенка на navigationBar, но он не отображает цвет градиента.UINavigation tintColor

picker.navigationBar.tintColor = [[UIColor alloc]initWithRed:216.0/255.0 green:216.0/255.0 blue:216.0/255.0 alpha:1.0]; 
+1

Вы не можете добавить цвет градиента в панели навигации. Если вы хотите сделать это, вы можете добавить изображение в панель навигации. –

+0

Привет, Дипак, мне нужно поместить градиентный цвет в navigationBar MFMailComposer. Как это возможно? –

+1

используйте что-то вроде этого 'picker.navigationBar.tintColor = [[UIColor alloc] initWithPatternImage: [UIImage imageNamed: @" путь к градиентному изображению "]];' – cnu

ответ

1
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 100)]; 
CAGradientLayer *gradient = [CAGradientLayer layer]; 
gradient.frame = view.bounds; 
gradient.colors = [NSArray arrayWithObjects:(id)[[UIColor blackColor] CGColor], (id)[[UIColor whiteColor] CGColor], nil]; 
[view.layer insertSublayer:gradient atIndex:0]; 

Или попробуйте этот

#import <QuartzCore/QuartzCore.h> // For .layer 

self.navigationController.navigationBar.layer.contents = (id)[UIImage imageNamed:@"navigationBarBackgroundImage"].CGImage; 
self.navigationController.navigationBar.tintColor = [UIColor orangeColor]; 

TRY эту надежду это поможет

+0

Спасибо за ответ. Он не работает с ARC. –

+0

Я отредактировал ответ, попробуйте его –

+0

gradient.colors = [NSArray arrayWithObjects: (id) [[UIColor blackColor] CGColor], (id) [[UIColor whiteColor] CGColor], nil]; Это дает ошибку Автоматическая ошибка подсчета ссылок: Неявное преобразование в «id» указателя не-Objective-C запрещено с помощью автоматического подсчета ссылок. Пожалуйста, исправьте его. И дайте мне знать. Спасибо. –

-1

в прошивкой 5

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 5.0) { 
    // Create resizable images 
    [[UINavigationBar appearance] setBarStyle:UIBarStyleDefault]; 
    [[UINavigationBar appearance] setTintColor:yourColor]; 
} 
+0

Спасибо за ответ. Это не дает цветной глянец на навигационной панели. –

Смежные вопросы