UITabBarItem title position

旧巷老猫 提交于 2019-12-05 05:38:14

Why don't you just have an empty title property for your view controller and add the title to your custom images for the tab?

You can do this (in 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];

where tabIconSelected.png and tabIconNotSelected.png both contain the title text for the tab.

I have written a brief article "Add some colour to your UITabBar icons" which explains how to use custom images with tabs.

Hope this helps.

Radek

If you want to move up simply set vertical offset to negative value

UITabBarItem* it = [[self.tabController.tabBar items] objectAtIndex:0];
it.titlePositionAdjustment = UIOffsetMake(0.0, -2.0);

You don't have to use proxy as it is done here UITabBarItem title in centre of title, not at bottom.You can define offset per item.

Swift version for the lazy ones :)

UITabBarItem.appearance().titlePositionAdjustment = UIOffsetMake(0.0, -4.0)

Global adjustment in objective-C:

[[UITabBarItem appearance] setTitlePositionAdjustment:UIOffsetMake(0, -4)];

If you want to update all of them:

tabBar.items?.forEach({ $0.titlePositionAdjustment = UIOffset(horizontal: 0.0, vertical: -2.0) })
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!