在网上搜索如何调整UITabBarItem标题位置的位置时,我跑过了this类似的帖子,仍然想知道如何做到这一点。
甚至可以从下往上调整标题位置吗? (例如5px)我需要这个,因为我有自定义图像,现在标题的位置并不完美。
答案 0 :(得分:13)
如果您想向上移动,只需将垂直偏移设置为负值
UITabBarItem* it = [[self.tabController.tabBar items] objectAtIndex:0];
it.titlePositionAdjustment = UIOffsetMake(0.0, -2.0);
您不必在此处UITabBarItem title in centre of title, not at bottom使用代理。您可以为每个项目定义偏移量。
答案 1 :(得分:10)
懒惰版的Swift版本:)
UITabBarItem.appearance().titlePositionAdjustment = UIOffsetMake(0.0, -4.0)
答案 2 :(得分:1)
为什么不为视图控制器设置空标题属性,并将标题添加到标签的自定义图像中?
你可以这样做(在iOS 5.0中):
UIImage* iconSelected = [UIImage imageNamed:@"tabIconSelected.png"];
UIImage* iconNotSelected = [UIImage imageNamed:@"tabIconNotSelected.png"];
UITabBarItem *updatesListItem = [[UITabBarItem alloc] initWithTitle:@"" image:iconSelected tag:0];
[updatesListItem setFinishedSelectedImage:iconSelected withFinishedUnselectedImage:iconNotSelected];
[navigationController setTabBarItem:updatesListItem];
其中tabIconSelected.png
和tabIconNotSelected.png
都包含标签的标题文字。
我写了一篇简短的文章"Add some colour to your UITabBar icons",其中解释了如何使用带标签的自定义图像。
希望这有帮助。
答案 3 :(得分:1)
目标C的全球调整:
[[UITabBarItem appearance] setTitlePositionAdjustment:UIOffsetMake(0, -4)];
答案 4 :(得分:0)
如果要更新所有它们:
tabBar.items?.forEach({ $0.titlePositionAdjustment = UIOffset(horizontal: 0.0, vertical: -2.0) })