美文网首页带我飞5iOS DeveloperiOS 开发
iOS中修改UITabBarItem的高度和宽度

iOS中修改UITabBarItem的高度和宽度

作者: chy1ee | 来源:发表于2016-01-27 19:21 被阅读2998次

    在很多产品需求中,系统自带的UITabbar往往不能完成我们的需求,需要我们去自定义UITabbar,下午在做个demo的时候,看到UI的图,想到了需要自定义,但是偷了下懒,直接去用系统自带的方法写,发现个小问题,写完后出来的效果是:


    有问题.png

    不知道看了图大家发现没有,中间的那个UITabBarItem不是居中的,而是在上面,设计需求是让它居中显示;不要问为啥是微博的logo,因为涉及到产品机密,所以上面的都是随便找的图来代替,能说明问题就行了。

    看到这个效果,当时就想去重新定制算了,但是已经是第二次遇到这个问题了,之前没解决,不能就这样放过它;想了想应该还是有办法吧,这不看看下面的:


    没问题.png

    来看看代码是什么样的:

    代码.png
    msg.tabBarItem.imageInsets = UIEdgeInsetsMake(5, 0, -5, 0);
    

    就是这样~ 5 -5是自己看着比例写的,不固定,更变大小有什么区别,去查这个用法。
    UIEdgeInsetsMake的用法在这里就不多说,可以自行查阅网上那么资料,我也不是懂很多,只是遇到问题就去查;补充一点就是有兴趣的可以试试把(5, 0, -5, 0)里面的数字各个参数位置都试试不同的大小,然后去一直点击那个tabbaritem,相信你会发现有趣的“东西”,至于这个有趣的“东西”我也暂时不知道怎么解释,我猜是UIEdgeInsetsMake的用法有关,自己去试试呢?

    相关文章

      网友评论

      • dedenc:想问下楼主 我的是继承自系统的tabbar,为什么我设置除了中间按钮以外的tabbaritem宽度,但是没什么用,感觉除了中间按钮以外 其他的按钮点击区域特别大,中间按钮的大小无法改变 请问你知道这是什么原因吗
      • 5370c449a552:你左右两边的测试不也没有居中么?啥眼神啊
        chy1ee:@5370c449a552 我只是解决的中间的 两边的之前没发现 现在是解决的 有什么问题吗 我眼神不好
      • L了个Y:我好像也碰到过,如果是(5 0 0 0),的话微博图片每次点击会上升,如果设置(5 0 -5 0)则是正常的,对么,楼主,我记不太清楚了 :flushed:
        chy1ee:@纱布辣鸡 等于拉伸 只在有些情况可以用 不然一直点击会无限放大
      • MrFire_:赞一个,问题虽然简单,但是有的时候没有想到这一点,就是效果出不来,我之前也遇到过这种情况,看到博主的文章,原来如此!
        chy1ee:@hungryBoy 那就关注一个呗,你可以试试我后面说的问题

      本文标题:iOS中修改UITabBarItem的高度和宽度

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