iOS 7:底部的UITabBarItem图像裁剪

时间:2014-04-28 06:41:17

标签: ios objective-c uitabbar uitabbaritem

我有一个带有4个标签的UITabBar。 3/4标签有标题和图像。我想在第一个标签中只显示一个图像。它适用于模拟器,但在iPhone上它看起来像截图。它在底部作物。图标尺寸:2,3和4图标(视网膜尺寸)为46x42,视网膜尺寸为第1个图标为92x80。

截图

enter image description here

代码

_tabBarController = [[UITabBarController alloc]init];
_tabBarController.delegate=self;

_firstNavigationController = [[TypeCollectionViewController alloc] initWithNibName:@"TypeCollectionViewController" bundle:nil];
_firstNavigationController.title = @"first";
firstNavigationController.tabBarItem.imageInsets = UIEdgeInsetsMake(5, 0, -5, 0);
NSArray *controllers = [NSArray arrayWithObjects: firstNavigationController, secondNavigationController, thirdNavigationController, fNavigationController, nil];
_tabBarController.viewControllers = controllers;

[[[_tabBarController.tabBar items] objectAtIndex:0] setImage:[UIImage imageNamed:@"first-icon.png"]];
[[[_tabBarController.tabBar items] objectAtIndex:1] setImage:[UIImage imageNamed:@"second-icon.png"]];
[[[_tabBarController.tabBar items] objectAtIndex:2] setImage:[UIImage imageNamed:@"third-icon.png"]];
[[[_tabBarController.tabBar items] objectAtIndex:3] setImage:[UIImage imageNamed:@"f-icon.png"]];

[_tabBarController setSelectedIndex:0];

[self.window setRootViewController:_tabBarController];
[[[_tabBarController.tabBar items] objectAtIndex:0] setTitle:nil];
[self.window makeKeyAndVisible];

如何解决此问题?提前谢谢。

1 个答案:

答案 0 :(得分:1)

注意UITabbarItem's image size应为32 pixel height。关注Bars Guidleline

另外image也应提供non-retina以及retina imagetabbar item

如果您认为only retina image可以用于标签栏,那么我在non-retina device UI可能unexpected可能是{{1}}。