UITabBarController自带tabBar的item如何均匀布局?

这个标题,对初学者来说应该是小菜一碟,却让我这个中级菜鸟花了小半天功夫才搞定。先说解决方法再交代前因,设 Nitem个数tabBarVC当前标签控制器kScreenWidth当前屏幕宽度marginitem间隔视图宽度 代码如下:

tabBarVC.tabBar.itemWidth = (kScreenWidth - margin * (N - 1)) / N;
tabBarVC.tabBar.itemSpacing = margin;

效果如下图:

均匀分布图

  前因:使用环信SDK,发现在iPhone中标签栏是没问题的,但在iPad中,item集中在中间,如下图:
未均匀分布图

  看到这种效果,脑子一懵就设置tabBarItem的属性imageInsets,发现切换item时并不如意,手指位置会有限制,有兴趣的亲可以设置这个属性试试,自己去看效果就会明白,不多解释。
  又各种谷歌还是无解后,无意中在UITabBar.h文件看到itemWidth属性才恍然大悟,其实是多简单的问题,果然像学习时老师说的“看似复杂,半天、一天甚至两天没解决的,其实大多一两行代码就搞定了”。

戒骄戒躁,勿忘初心,要学会换个思路解决问题,为写好每一个项目而奋斗。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,734评论 25 709
  • CSS 3中弹性盒布局的最新版概述 在CSS 3中,CSS Flexible Box模块为一个非常重要的模块,该模...
    吾名无双阅读 4,973评论 0 5
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,687评论 1 92
  • 移动开发基本知识点 一.使用rem作为单位 html { font-size: 100px; } @media(m...
    横冲直撞666阅读 8,895评论 0 6
  • H5移动端知识点总结 阅读目录 移动开发基本知识点 calc基本用法 box-sizing的理解及使用 理解dis...
    Mx勇阅读 10,127评论 0 26