移动UITabBarItem图像?

通常在UITabBar每个选项卡上,都有一个小图像和一个标题来命名选项卡。 图像位于标签顶部的中心位置,以容纳下方的标题。 我的问题是: 如果你想有一个只有一个图像,没有标题的tabBar是否有办法将图像向下移动,以便它在标签中更好?

我正在使用(见下文)目前:

 [tabBarItem setFinishedSelectedImage:tabSelected withFinishedUnselectedImage:tabUnselected]; 

但宁愿使用更大的图像没有标题,现在,如果我使图像大于70像素@ 2x它开始削弱UITabBar的顶部,同时留下很多未使用的空间在底部。

尝试调整tabBarItemimageInsets (用于移动图标图像)并将控制器标题设置为零(因此不显示标题)。 把这样的东西放在视图控制器的-init或者-viewDidLoad方法中:

 self.tabBarItem.imageInsets = UIEdgeInsetsMake(6, 0, -6, 0); self.title = nil; 

UITabBarItem是具有UIEdgeInsets imageInsets属性的UIBarItem的子类。 玩一些插图,直到它看起来不错(取决于你的标签栏图标图像)

你也可以通过故事板做到。 select你的tabbaritem,去检查大小和分配适当的插页。

在这里输入图像说明

*在Xcode版本7.3.1(7D1014)上演示

创buildUITabBarController的子类,并在其viewDidLoad

 - (void)viewDidLoad { [super viewDidLoad]; [self.viewControllers enumerateObjectsUsingBlock:^(UIViewController *vc, NSUInteger idx, BOOL *stop) { vc.tabBarItem.title = nil; vc.tabBarItem.imageInsets = UIEdgeInsetsMake(5, 0, -5, 0); }]; } 

Swift 3:

 for vc in self.viewControllers! { vc.tabBarItem.title = nil vc.tabBarItem.imageInsets = UIEdgeInsetsMake(5, 0, -5, 0) } 

如果你使用Xamarin,这个工作:

 screen.TabBarItem.ImageInsets = new UIEdgeInsets(5, 0, -5, 0); screen.TabBarItem.Title = ""; 

SWIFT 3.0

根据devise,您可以设置图像底座,顶部,左侧,底部和右侧。

 self.tabBarItem.imageInsets = UIEdgeInsets(top: 5, left: 0, bottom: 0, right: 0)