有没有办法在UITabBar或UITabBarItem中更改文本位置?

Sha*_*yrs 25 objective-c uitabbaritem uitabbar ios xcode4.5

在此输入图像描述

这是我打算在屏幕上显示的自定义标签栏.但是,我的合作伙伴希望文本略微提升.我怎么能这样做?

Sri*_*aju 47

为什么不为视图控制器设置空标题属性并将标题添加到标签的自定义图像?

更新:为了完整答案; 来自评论和ios tabbar在没有图像时将文本放在中间

[tab.tabBarItem setTitlePositionAdjustment:UIOffsetMake(0, -10)]


Tim*_*own 35

您可能希望全局应用此偏移量,因此我建议

OBJ-C

[UITabBarItem appearance].titlePositionAdjustment = UIOffsetMake(0, -4);
Run Code Online (Sandbox Code Playgroud)

迅速:

UITabBarItem.appearance().titlePositionAdjustment = UIOffset(horizontal: 0, vertical: -4)
Run Code Online (Sandbox Code Playgroud)

  • 如果你只是想调整垂直位置(在swift中),你也可以使用这个`UITabBarItem.appearance().titlePositionAdjustment.vertical = -4` (2认同)

Ami*_*itP 11

以下是Interface builder的相同技巧:

在此输入图像描述


kam*_*il3 9

您可以直接从Interface Builder(标题位置中的自定义偏移)执行此操作,如下所示: 链接


Yog*_*ngh 7

对于 iOS 13 及更高版本:

if #available(iOS 13, *) {
        let appearance = UITabBarAppearance()
           appearance.stackedLayoutAppearance.selected.titlePositionAdjustment = UIOffset(horizontal: 0, vertical: -10)
           appearance.stackedLayoutAppearance.normal.titlePositionAdjustment = UIOffset(horizontal: 0, vertical: -10) 
     }
Run Code Online (Sandbox Code Playgroud)