iOS 获取tabbar每个tabbarItem的位置
来源:互联网 发布:战网安装不了 传输数据 编辑:程序博客网 时间:2024/06/12 22:57
为了给tabbarController的tabbar添加动画,首先要获取所有tabbaritem的位置,然而系统并没有给出获取item位置的方法,经过多次测试发现其实tabbar上的item有这样的规律。
假设tabbar的宽度是屏幕的宽度Width,那么当item只有一个的时候,他的宽度是屏幕宽度的1/3(一般不会出现只有一个item的情况,目前没有那么傻的APP。。。)
当item有两个的时候,每一个item的宽度是屏幕的1/6。
第一个item的起始位置是1/6*Width,第二个item的起始位置是4/6*Width
当item有三个的时候,每一个item的宽度是屏幕的1/9。
第一个item的起始位置是1/9*Width,第二个item的起始位置是4/9*Width,第三个item的起始位置是7/9*Width
当item有四个的时候,每一个item的宽度是屏幕的1/12。
第一个item的起始位置是1/12*Width,第二个item的起始位置是4/12*Width,第三个item的起始位置是7/12*Width,第四个item的起始位置是10/12*Width
当item有五个的时候,每一个item的宽度是屏幕的1/15。
第一个item的起始位置是1/15*Width,第二个item的起始位置是4/15*Width,第三个item的起始位置是7/15*Width,第四个item的起始位置是13/15*Width
当item有六个的时候,每一个item的宽度还是屏幕的1/15。
item最多显示五个,多的就跑到另一个页面去了。可以自己试验一下。
那么我们可以总结出这么一个规律,就是分子是1,4,7,10,13这样一个等差数列,而分母是3,6,9,12,15这样一个等比数列,那么计算每个item的位置就很简单了,像这样:(这是计算当前点选的item的起始位置)
(3.0*CGFloat(self.tabbarController.selectedIndex+1)-2.0)*ScreenWidth/CGFloat(self.tabbarController.tabBar.items.count*3)
- iOS 获取tabbar每个tabbarItem的位置
- [iOS diary] TabBar与TabBarItem的那些坑
- iOS Nav+TabBar下的self.title,self.navigationItem.title,self.tabBarItem.title区别和联系
- [iOS] 改变tabBar高度/位置的方法
- ios tabbar 文字位置
- String - 获取每个位置上的值
- tabbar代码加载。设置tabbaritem的title和image
- 自定义tabBarItem,仍是使用系统的tabBar
- iOS UITabBarController tabbar 上面的文字title 怎么移动位置
- iOS 自定义tabbar,在ipad上点击的位置不对
- iOS 隐藏tabbar会导致底部tabbar的位置的空间不能被点击响应
- 自定义TabBar条,实现重写TabBar的TabBarItem,然后在中间额外加一个按钮
- iOS - 一个方法搞定自定义tabBarItem中的控件位置均分
- IOS 点击tabbaritem跳转到一个新界面,且隐藏tabbar
- iOS获取当前的位置
- ios 获取用户的位置
- ios uitabbarcontroller 双击tabbaritem ,popToRootViewController的问题
- IOS tabBarController的tabBarItem显示图片
- 朴素、Select、Poll和Epoll网络编程模型实现和分析——Epoll模型
- checkBox选中
- 用instsrv将普通exe程序注册为服务
- 配置高并发jdbc连接池
- pat-bl-1055
- iOS 获取tabbar每个tabbarItem的位置
- sphinx架构设计 -- 高并发rt实时索引
- 朴素、Select、Poll和Epoll网络编程模型实现和分析——模型比较
- React native ListView初识
- iOS之ProtocolBuffer搭建和示例demo
- 获取post过来的stream数据
- mybatis笔记《1》
- spark学习1
- #####tensorflow+入门笔记︱基本张量tensor理解与tensorflow运行结构 ***********######