2012-02-09 63 views
2

我想更改UINavigationBar的颜色,颜色将从图像中获取。如何更改UINavigationBar的颜色?

+0

您wanrt改变颜色或使用图像 – Deepesh 2012-02-09 06:02:47

+0

我想改变UINavigationBar的背景下,我使用colorWithImagePattern,但其没有工作 – Ali 2012-02-09 06:04:08

回答

6

尝试将对象设置为navigationBar的子视图。

设置着色颜色属性或使用图像

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

感谢的人妳太美好了。 – NaXir 2013-08-13 05:16:42

0

试试这个:

  1. 首先创建目标C类说CustomNavBar继承UINavigationBar类...
  2. 然后导入这个类你的appDelegate ...
  3. 然后将下面的代码放在你的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

在iOS 7以上版本,请尝试以下操作:

navigationBar.barTintColor = [UIColor redColor]; 
0

有一种方法可以在Xcode 6.4要做到这一点从情节串连图板。

从文档大纲选择导航条

不是从属性检查器中改变杆色调

您也可以选择其他的,这会带来颜色选择器

选择滴管,这将让你从图像中选择一种颜色

相关问题