0

http://i.stack.imgur.com/NAqSJ.png

你好

我的定制标签栏存在垂直偏移问题。UIImages 和屏幕底部之间似乎有一个黑色间隙。如何解决这个问题?我在第一个 viewController 的 viewDidLoad() 方法中使用了以下代码:

[super viewDidLoad];
UIImage *selectedImage0 = [UIImage imageNamed:@"tabBarButtonHomeSelected.png"];
UIImage *unselectedImage0 = [UIImage imageNamed:@"tabBarButtonHomeUnselected.png"];

UIImage *selectedImage1 = [UIImage imageNamed:@"tabBarButtonUserSelected.png"];
UIImage *unselectedImage1 = [UIImage imageNamed:@"tabBarButtonUserUnselected.png"];

UIImage *selectedImage2 = [UIImage imageNamed:@"tabBarButtonPricetagSelected.png"];
UIImage *unselectedImage2 = [UIImage imageNamed:@"tabBarButtonPricetagUnselected.png"];

UIImage *selectedImage3 = [UIImage imageNamed:@"tabBarButtonStarSelected.png"];
UIImage *unselectedImage3 = [UIImage imageNamed:@"tabBarButtonStarUnselected.png"];

UIImage *selectedImage4 = [UIImage imageNamed:@"tabBarButtonGearSelected.png"];
UIImage *unselectedImage4 = [UIImage imageNamed:@"tabBarButtonGearUnselected.png"];

UITabBar *tabBar = self.tabBarController.tabBar;
UITabBarItem *item0 = [tabBar.items objectAtIndex:0];
UITabBarItem *item1 = [tabBar.items objectAtIndex:1];
UITabBarItem *item2 = [tabBar.items objectAtIndex:2];
UITabBarItem *item3 = [tabBar.items objectAtIndex:3];
UITabBarItem *item4 = [tabBar.items objectAtIndex:4];

[item0 setFinishedSelectedImage:selectedImage0 withFinishedUnselectedImage:unselectedImage0];
[item1 setFinishedSelectedImage:selectedImage1 withFinishedUnselectedImage:unselectedImage1];
[item2 setFinishedSelectedImage:selectedImage2 withFinishedUnselectedImage:unselectedImage2];
[item3 setFinishedSelectedImage:selectedImage3 withFinishedUnselectedImage:unselectedImage3];
[item4 setFinishedSelectedImage:selectedImage4 withFinishedUnselectedImage:unselectedImage4];

非常感谢你。

4

3 回答 3

1

通常标签标题会进入那个空间。您的标签项目都有空标题,这是故意的吗?如果是,那么您应该更改工具栏视图的默认框架,可能通过将其增加frame.origin.y间隙量。

于 2012-07-04T18:16:40.120 回答
1

解决方案是制作三种类型的图像。首先,您需要 TabBar 的背景。其次,您需要一个按钮大小的图像用于一个选项卡的选定或突出显示背景。第三,您需要没有任何背景的图标。

现在你设置你的 TabBar 背景

[tabBar setBackgroundImage:[UIImage imageNamed:@"background.png"]];

然后您将突出显示的背景图块设置为:

[tabBar setSelectionIndicatorImage:[UIImage imageNamed:@"selected.png"]];

那么你需要像在你的问题中那样设置你的图标。这应该可以完成这项工作。

于 2012-11-23T14:20:34.010 回答
0

您现在可以在 Storyboard 中解决此问题。 故事板尺寸检查器图像插入调整

选择要调整的 Tab Bar Item,打开 Size Inspector,然后调整 Top 和 Bottom Image Insets。您需要将它们调整为相同的量,否则它们只会挤压/拉伸您的图像(因此顶部为 +5,底部为 -5)

于 2015-02-26T21:37:32.923 回答