【发布时间】:2012-11-17 01:59:35
【问题描述】:
这是我打算放在屏幕上的自定义标签栏。但是,我的伙伴希望文本稍微向上。我该怎么做?
【问题讨论】:
标签: ios objective-c xcode4.5 uitabbar uitabbaritem
这是我打算放在屏幕上的自定义标签栏。但是,我的伙伴希望文本稍微向上。我该怎么做?
【问题讨论】:
标签: ios objective-c xcode4.5 uitabbar uitabbaritem
为什么不为视图控制器设置一个空的标题属性并将标题添加到选项卡的自定义图像中?
更新:为了回答的完整性;来自 cmets 和 ios tabbar put text in the middle when no image
[tab.tabBarItem setTitlePositionAdjustment:UIOffsetMake(0, -10)]
【讨论】:
您可能希望全局应用此偏移量,所以我建议
Obj-C
[UITabBarItem appearance].titlePositionAdjustment = UIOffsetMake(0, -4);
斯威夫特:
UITabBarItem.appearance().titlePositionAdjustment = UIOffset(horizontal: 0, vertical: -4)
【讨论】:
UITabBarItem.appearance().titlePositionAdjustment = UIOffset(horizontal: 0, vertical: -4)
UITabBarItem.appearance().titlePositionAdjustment.vertical = -4
您可以直接从 Interface Builder(标题位置的自定义偏移)中执行此操作,如下所示:
【讨论】:
对于 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)
}
【讨论】:
我在这里找到了答案:ios tabbar put text in the middle when no image 会试试这个,看看效果如何 :)
更新:它有效。只有 1 行代码。
【讨论】: