UITabBarItem标题位置

时间:2012-04-17 13:56:46

标签: iphone objective-c uitabbaritem

在网上搜索如何调整UITabBarItem标题位置的位置时,我跑过了this类似的帖子,仍然想知道如何做到这一点。

甚至可以从下往上调整标题位置吗? (例如5px)我需要这个,因为我有自定义图像,现在标题的位置并不完美。

5 个答案:

答案 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.pngtabIconNotSelected.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) })