UITabBarItem 更改图像高度和宽度

Posted

技术标签:

【中文标题】UITabBarItem 更改图像高度和宽度【英文标题】:UITabBarItem Change Image Height and Width 【发布时间】:2013-12-10 16:07:28 【问题描述】:

我有一个没有标题且只有图像的 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);

但没有任何改变。

谢谢!

【问题讨论】:

检查我编辑的答案 @llario 还是不行 让我看看你修改过的代码 @llario 刚刚编辑的问题 @llario 谢谢! 【参考方案1】:

根据苹果文档,TabBar 上图片的最大尺寸为 30x30(视网膜显示为 60x60)。

我认为如果不拉伸图像就不可能占据 TabBar 的整个高度。我认为最好的解决方案是使用 imageInset 在 TabBar 中居中图像

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

否则,您可以使用此 imageInset 并像屏幕截图中那样拉伸图像

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

- (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);

【讨论】:

非常感谢您的回答。现在我的应用看起来非常漂亮:) @android_kalai 很高兴有帮助 ;-) 嘿,在图片上点击两次。它的缩放比例:S 点击两次后图片缩放有没有找到解决办法?

以上是关于UITabBarItem 更改图像高度和宽度的主要内容,如果未能解决你的问题,请参考以下文章

无法更改图像标签内的跨度高度和宽度

错误(?)codeigniter裁剪图像的高度和宽度已更改

更改图像的来源使其在第一次单击时其宽度/高度为零

如何在更改屏幕宽度的同时保持响应式背景图像高度?

更改 UITabBarItem 图像的颜色

更改默认“未选择”UITabBarItem 图像颜色