UITabBarController 修改背景

转载:http://zhuhaibobb.blog.163.com/blog/static/274400672012775055613/

转载注明出处:http://hi.baidu.com/yunhuaikong/blog/item/086d43fb79fe82c1b58f3128.html

UITabBarController自己的数据有时候让人无言,如选中时的颜色tintcolor,它的背景等,虽然网络现在修改它的例子很多,但个人感觉都不是最好的办法。毕竟这样做代码量还是比较大的,如何用官方的api实现相应的功能呢?看看效果图:

UITabBarController 修改背景 - 来过 - 永远保持积极向上

现在一一说明修改方式:

UITabBarController 修改背景 - 来过 - 永远保持积极向上

一、修改背景图片:

UITabBarController 修改背景 - 来过 - 永远保持积极向上
素材如下:

UITabBarController 修改背景 - 来过 - 永远保持积极向上

 

二、修改每一个tabbar选中时的颜色,默认为蓝色。此处修改为自定义的颜色。

UITabBarController 修改背景 - 来过 - 永远保持积极向上

UITabBarController 修改背景 - 来过 - 永远保持积极向上

 

三、去掉选中时的聚焦高亮颜色。可以对比着看看。这里不给截图。

素材:

UITabBarController 修改背景 - 来过 - 永远保持积极向上宽度为320/tabbar的个数,用背景色。如果需要其他的效果,自己换一个就行了。

UITabBarController 修改背景 - 来过 - 永远保持积极向上

 另外一种方法通过

@implementation UITabBar(Draw)
- (void)drawRect:(CGRect)rect{
    // Drawing code.

    CGRect bounds=[self bounds];

    
    NSLog(@"%@",[NSValue valueWithCGRect:bounds]);
    
    // [[UIColor redColor] set];
    
    [[UIColor colorWithPatternImage:[UIImage imageNamed:@"tablebar.png"]] set];
    
    UIRectFill (bounds);
}

@end 


更改导航条的颜色
首先准备导航栏背景图片,大小 320x44, @2x文件大小640x88,iOS5以后更改背景图片较简单
  1. UINavigationBar *navBar = self.navigationController.navigationBar;
  2.  
  3. #define kSCNavBarImageTag 10
  4. if ([navBar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)])
  5.     //if iOS 5.0 and later 
  6.     [navBar setBackgroundImage:[UIImage imageNamed:@"navbar1.png"] forBarMetrics:UIBarMetricsDefault];
  7. else 
  8.     UIImageView *imageView = (UIImageView *)[navBar viewWithTag:kSCNavBarImageTag];
  9.     if (imageView == nil) 
  10.     { 
  11.         imageView = [[UIImageView alloc] initWithImage: 
  12.                      [UIImage imageNamed:@"navbar1.png"]];
  13.         [imageView setTag:kSCNavBarImageTag]; 
  14.         [navBar insertSubview:imageView atIndex:0];
  15.         [imageView release]; 
  16.     } 

 


更改颜色,可以使用tintColor属性
  1. myBar.tintColor = [UIColor greenColor]; 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值