UITabBarItem更改图像高度和宽度

时间:2013-12-10 16:07:28

标签: ios uitabbar uitabbaritem

我有一个没有标题的UITabBarItem,只有一个图像。我想知道如何更改图像大小,以便它可以占用整个UITabBarItem。

我在互联网上搜索但没有找到任何内容。

我试过了:

UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:@"Main_Storyboard" bundle:nil];
UITabBarController *tabBarController = [storyBoard instantiateViewControllerWithIdentifier:@"tab"];
UITabBar *tabBar = tabBarController.tabBar;
UITabBarItem *tabBarItem1 = [tabBar.items objectAtIndex:0];
UITabBarItem *tabBarItem2 = [tabBar.items objectAtIndex:1];
UITabBarItem *tabBarItem3 = [tabBar.items objectAtIndex:2];

tabBarItem1.imageInsets = UIEdgeInsetsMake(0, -10, -6, -10);

但没有改变。

谢谢!

1 个答案:

答案 0 :(得分:6)

从Apple文档中,TabBar上图片的最大尺寸为30x30(视网膜显示器为60x60)。

我认为不可能在没有图像的情况下占用TabBar的整个高度。我认为最好的解决方案是使用imageInset

将图像置于TabBar中心
tabBarItem1.imageInsets = UIEdgeInsetsMake(6, 0, -6, 0);

enter image description here

否则你可以使用此图像进行设置并像截图一样拉伸图像

tabBarItem1.imageInsets = UIEdgeInsetsMake(0, -10, -6, -10);

enter image description here

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions  {


 UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController;

 UITabBar *tabBar = tabBarController.tabBar;
 UITabBarItem *tabBarItem1 = [tabBar.items objectAtIndex:0];
 UITabBarItem *tabBarItem2 = [tabBar.items objectAtIndex:1];
 UITabBarItem *tabBarItem3 = [tabBar.items objectAtIndex:2];

 //add image to tabbarItems

 tabBarItem1.imageInsets = UIEdgeInsetsMake(0, -10, -6, -10);
}