美文网首页
UITabBarItem中自定义图片

UITabBarItem中自定义图片

作者: 若水V_V | 来源:发表于2015-08-24 22:40 被阅读3190次

    2016.7.8更新:
    其实只要在UITabBarController中做如下设置即可:

    UIImage * normalImage = [[UIImage imageNamed:@"sy1.png"]  imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
    UIImage * selectImage = [[UIImage imageNamed:@"sy.png"]  imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
    
    NSArray *array =  self.viewControllers;
    UINavigationController * nav = (UINavigationController *)array[0];
    nav.tabBarItem.image = normalImage;
    nav.tabBarItem.selectedImage = selectImage;
    nav.tabBarItem.title = @"首页";
    

    使用UITabBarController时经常需要给每一个tabBarItem设置自己的图片,图片有两种状态一种未选中状态,另一种选中状态。默认情况下未选中状态是灰色,选中状态为蓝色,即使你设置了图片也不会显示出清晰的图片。如下图一样。


    1.默认图标状态

    所以如果希望出现如下效果则需要自定义图片。步骤如下:

    一、所使用的图片有如下标准样式

    30*30像素大小、150dpi(分辨率)、透明背景、png格式。调整这些参数可以用mac自带的预览软件来调整。大小和dpi可以通过预览“工具”中的对应操作。
    这里解释透明背景怎么做:

    1.1 单击“显示标记工具栏” 1.2 选择“即时Alpha” 1.3 单击选择图片不放,一直拖动直到需要的区域都选中后,再单击“裁剪”,然后从“文件”中选择“导出”即可

    二、自定义tabBarItem.image属性

     //通过如下事例代码即可。如果想让显示图标为自己的图片而不是未选中时为灰色,选中后为蓝色时需自定义图片.
    //设置图片呈现模式不作为模版图片,这样不会忽略颜色信息。
    self.tabBarItem.image = [[UIImage imageNamed:@"wechat.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
    
     //设置选中后的图片
     self.tabBarItem.selectedImage = [[UIImage imageNamed:@"wechat2.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
    

    效果如图:

    2.1 2.2

    相关文章

      网友评论

          本文标题:UITabBarItem中自定义图片

          本文链接:https://www.haomeiwen.com/subject/sqqqcttx.html