2012-02-09 2 views
2

Я хочу изменить цвет UINavigationBar, цвет будет снят с изображения.Как изменить цвет UINavigationBar?

+0

Вы wanrt изменить цвет или использовать изображение – Deepesh

+0

я хочу, чтобы изменить фон UINavigationBar, я использую colorWithImagePattern, но ее не работает – Ali

ответ

1

Если вы поддерживаете только iOS5 и более поздние версии, вы можете использовать «внешний прокси». Существует a good tutorial for this.

Если вам необходимо поддерживать предыдущие версии, вы должны подклассифицировать UINavigationBar и переопределить его метод drawRect. Существует a good sample code for this.

6

попытайтесь установить объекты в качестве подзонов в navigationBar.

установить свойство оттенок цвета или использовать образы

UINavigationController *controller = [[UINavigationController alloc] initWithRootViewController:rootController]; 
controller.navigationBar.tintColor = [UIColor blackColor]; 
+1

спасибо человека у слишком хорошо. – NaXir

0

Попробуйте это:

  1. Сначала создайте Объективный класс C сказать CustomNavBar унаследовал UINavigationBar класс ...
  2. затем импортировать этот класс в ваш appDelegate ...
  3. then Поместите этот ниже код в конце вашего класса appDelegate ...
  4. затем выберите MainWindow.xib и измени свои настройки UINavigationBar class to CustomNavBar`.

Код:

@implementation CustomNavBar (CustomNavBarCategory) 

-(void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx 
{ 

    if([self isMemberOfClass:[CustomNavBar class]]) 
    { 
     UIImage *image; 

     image=[UIImage imageNamed:@"ImageName"]; 

     CGContextClip(ctx); 
     CGContextTranslateCTM(ctx, 0, image.size.height); 
     CGContextScaleCTM(ctx, 1.0, -1.0); 
     CGContextDrawImage(ctx,CGRectMake(0, 0, self.frame.size.width, self.frame.size.height), image.CGImage); 

    } 
    else 
    {   
     [super.layer drawLayer:layer inContext:ctx];  
    } 

} 

@end 
2

В прошивке 7 или более поздняя версия, выполните следующие действия:

navigationBar.barTintColor = [UIColor redColor]; 
0

Существует способ сделать это из раскадровки в Xcode 6.4.

В схеме документа выберите Панель навигации

чем из атрибутов изменения инспектор бара отлива

Вы также можете выбрать другие и это приведет к палитре цветов

Выберите капельницу, и это позволит вам выбрать цвет с изображения

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