ios更改UITabBarController背景以及选中背景图片的方法
不多说,直接上方案。
一、背景图片
1、5.0以上版本
UIImage *image = [UIImage imageNamed:@"system_tabbar_bg.png"];
[self.tabBar setBackgroundImage:image];
2、5.0以下版本
UIImage *image = [UIImage imageNamed:@"system_tabbar_bg.png"];
NSArray *array = [self.view subviews];
UITabBar *tabBar = [array objectAtIndex:1];
tabBar.layer.contents = (id)image.CGImage;
二、选中的item的背景图片设置
1、5.0以上版本
self.tabBar.selectionIndicatorImage = [UIImage imageNamed:@"system_tabbar_item_selected.png"];
2、5.0以下版本
首先实现如下方法:
- (void)setNoHighlistTabBar:(UITabBarController *)tabBarController
{
NSArray * tabBarSubviews = [tabBarController.tabBar subviews];
int index4SelView;
if(tabBarController.selectedIndex+1 > 4)
{//selected the last tab.
index4SelView = [tabBarSubviews count]-1;
}
else if([tabBarController.viewControllers count] > 5)
{//have "more" tab. and havn't selected the last tab:"more" tab.
index4SelView = [tabBarSubviews count] - 5 + tabBarController.selectedIndex;
}
else
{//have no "more" tab.
index4SelView = [tabBarSubviews count] -
[tabBarController.viewControllers count] + tabBarController.selectedIndex;
}
if([tabBarSubviews count] < index4SelView+1)
{
assert(false);
return;
}
UIView * selView = [tabBarSubviews objectAtIndex:index4SelView];
NSArray * selViewSubviews = [selView subviews];
for(UIView * v in selViewSubviews)
{
if(v && [NSStringFromClass([v class]) isEqualToString:@"UITabBarSelectionIndicatorView"])
{//the v is the highlight view.
[self.selectedItemBgImageView removeFromSuperview];
[selView insertSubview:self.selectedItemBgImageView belowSubview:v];
[v removeFromSuperview];
break;
}
}
}
改方法的实质就是循环tabBar的subViews, 找到tabBar中的这个view, 是一个UITabBarSelectionIndicatorView的view,然后把它替换成你自己创建的UIImageView, 上例中的self.selectedItemBgImageView.
然后需要把UITabBarController的delegate设为self, 在tabBarController:didSelectViewController的代理方法中执行上面的方法:[self setNoHighlistTabBar:self];
还有setSelectIndex:方法中也要执行[self setNoHighlistTabBar:self];
转载于:https://www.cnblogs.com/ubersexual/p/3259795.html
ios更改UITabBarController背景以及选中背景图片的方法相关推荐
- SVG公众号排版『iOS手机长按禁止选中文字』解决方法
最近一位老铁向懂点君提问了一个问题:在iOS手机中长按切换图片会选中文字(SVG效果上下有文本内容),安卓手机则不会选中文字.看到问题后,脑子里立马蹦出了一个解决方法,在svg元素和p元素添加禁止文本 ...
- element更改导航菜单被选中项的背景颜色
element更改导航栏被选中项的背景颜色 在使用element的导航栏菜单时,官方文档指明可以改变导航栏的的背景颜色,字体颜色以及选中项的字体颜色,但是有时我们想要使用自定义颜色.在F12中可以看见 ...
- c++图片背景替换为白色_4种方法,3秒快速更换证件照背景!你还要去照相馆花冤枉钱吗?...
搞不懂都2020年了,你们换个证件照底色还跑照相馆的吗? 那不跑照相馆,应该怎么换? "PPT啊!PS啊!手机啊!"那么多方法,还能没有一个适合你用的? 一.电脑端更换底色方法 1 ...
- python改背景颜色_Python Opencv 通过轨迹(跟踪)栏实现更改整张图像的背景颜色
!!!本博客,是对图像的背景颜色的修改的基础讲解~!!! 还包括一个练习--是对背景色修改的一点应用尝试!!!--始终相信学习多一点探索,脚步会更坚定一些~ 愿所有正在努力的人都可以坚持自己的路一直走 ...
- html给按钮设置背景,设置按钮背景图片(HTML-CSS)
很多人提交表单时都喜欢用一个图片来作为提交按钮,大多数人可能用JS去操作表单的提交,即当用户点击这个图片时响应一个JS来提交表单.其实还有一种方法,就是直接设置SUBMIT按钮的图片背景.设置它的图片 ...
- android 视频做背景图片,视频后面怎么加背景图片?安卓手机给视频添加背景图片的方法...
狸窝是帮助用户解决问题 提供教程解决方案 在这个过程中有使用我们自己开发的软件 也有网上找的工具 只要帮助用户解决问题就好!同意则往下继续了解学习 ... 注意此教程方案是:『安卓手机端教程方案』.很 ...
- python窗口设置背景图片_PyQt5 实现给窗口设置背景图片的方法
PyQt5 实现给窗口设置背景图片的方法 QPalette类可以十分简单的达到设置窗口背景图片的目的 def use_palette(self): self.setWindowTitle(" ...
- 简述改变计算机桌面背景的方法,win7开关机背景图怎么更换_win7电脑换开关机壁纸图片的方法...
最近有朋友问小编win7开关机背景图怎么更换的问题,对于这个问题,相信很多朋友都不是太清楚,有时我们会觉得电脑默认的开关机壁纸不好看,那么我们应该如何更换win7开关机背景图呢?别着急,今天小编就针对 ...
- 给盒子添加默认背景图和选中背景图
给盒子添加默认背景图和选中背景图 用于每张默认图片和每张选中图片均不一致的情况 <template><divclass="weather":class=" ...
最新文章
- NYOJ 600 花儿朵朵
- 【Cannot convert from [[B] to】 @RabbitListener 反序列化报错
- cocos2d基础介绍
- .net webconfig 配置说明123
- QuickTime文件格式解析
- Java类名.方法和变量
- select for update作用
- Windows Mobile 进阶系列.WCF Mobile(Part 2)
- 计算机丢失gdiplus.dll怎么办,win7系统丢失gdiplus.dll报错的解决办法
- ps ui html,【ps制作网页页面】ps图像如何生成html?如何将PS制作的网页效果图变成可用的网页?PC端UI设计尺寸规范?...
- 计算机音乐有哪些优势,谈谈用电脑听无损音乐的好处
- PC 真的不行了!Intel、AMD 同遭生死劫
- Topic ods_base_db not present in metadata after 60000 ms.
- .net Core WebApi记录
- 什么是 Android Jetpack?
- 两阶段鲁棒优化程序 采用微网为模型,主要将安装成本、运营成本以及综合效益三个方面纳入考虑范围
- php 按位与运算,PHP 按位与()运算符应用实践
- LLVM指令选择中的模式定义方法
- idea 跳转到方法调用处
- 山东大学软件学院2021-2022数据结构期末考试
热门文章
- python及numpy,pandas易混淆的点
- 计算机主板知识,小白必看电脑主板知识扫盲,主板是什么?有什么用?
- qq文件对方接收后一定会有提示吗_QQ要增加消息已读功能,你是否赞成?
- c语言2L,求助,R8C 2L 如何在C语言定位常数数组到绝对地址
- Spring Boot 自定义属性值
- linux监控脚本是否运行状态,Linux Shell脚本之通过json判断应用程序内部运行状态...
- 2-27 最短路径《啊哈算法》2-28完成四种算法
- POJ 2287 - Tian Ji -- The Horse Racing(贪心)
- 01python初识—编辑器版本变量知识
- LeetCode#53 Maximum Subarray