IOS开发 UITabBarController

1,本文仅描述我在学习和使用UITabBarController过程的笔记和遇到的问题


2,正文

例子是按这篇文章搭建起来的@http://www.cnblogs.com/wendingding/p/3775488.html


3,问题

在实际需求当中,产品需要定制每个tab的 图片、文字都有选selected和normal状态,


1》系统默认的图片和文本是blue,即使给定的图片为别的颜色

(详细原因这篇文章有介绍@http://blog.csdn.net/kevinwlc/article/details/21467499)

2》tab上图片和文字的距离也需要定制

(具体实现这篇文章有介绍@http://www.cocoachina.com/bbs/read.php?tid=214060)


4,具体代码(一下所有代码都在AppDelegate.m中添加)


    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    self.window.backgroundColor = [UIColor whiteColor];

    [self.window makeKeyAndVisible];


    //tab容器

    UITabBarController *tbc = [[UITabBarController alloc] init];

    self.window.rootViewController = tbc;


    UIViewController *vc1 = [[UIViewController alloc] init];

    vc1.view.backgroundColor = [UIColor whiteColor];

    vc1.tabBarItem.title = @"缘分";

    

    //选中和未选中的图片变化

    if ([[UIDevice currentDevice].systemVersion floatValue] >= 7.0) {

        vc1.tabBarItem.image = [[UIImage imageNamed:@"tab_luck_normal.png"]                   imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];


        vc1.tabBarItem.selectedImage = [[UIImage imageNamed:@"tab_luck_selected.png"]         imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

    } else {

        //参考@http://blog.csdn.net/kevinwlc/article/details/21467499

    }


    //图片和文字的距离控制

    UIOffset offset = UIOffsetMake(0, -5);

    

    [vc1.tabBarItem setTitlePositionAdjustment:offset];


    //选中和未选中的图片变化

    if ([[UIDevice currentDevice].systemVersion floatValue] >= 7.0) {

        vc2.tabBarItem.image = [[UIImage imageNamed:@"tab_search_normal.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

        vc2.tabBarItem.selectedImage = [[UIImage imageNamed:@"tab_search_selected.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

    } else {

        //参考

    }

    

    [vc2.tabBarItem setTitlePositionAdjustment:offset];

    

    //选中和未选中文字颜色控制

    [[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor blackColor], NSForegroundColorAttributeNamenil] forState:UIControlStateNormal];


    UIColor *titleHighlightedColor = [UIColor redColor];

    [[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:titleHighlightedColor, NSForegroundColorAttributeName,nil] forState:UIControlStateSelected];


    tbc.viewControllers = @[vc1, vc2];


5,效果




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值