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];
我很感谢你。
答案 0 :(得分:1)
通常标签标题会进入该空间。你的标签项都有空标题,是故意的吗?如果是,那么您应该更改工具栏视图的默认框架,可能是将其frame.origin.y
增加了差距。
答案 1 :(得分:1)
解决方案是制作三种类型的图像。 首先,您需要TabBar的背景。 其次,您需要一个尺寸为一个按钮的图像,用于一个选项卡的选定或突出显示的背景。 第三,你需要没有任何背景的图标。
现在用
设置TabBar背景[tabBar setBackgroundImage:[UIImage imageNamed:@"background.png"]];
然后您将突出显示的背景图块设置为:
[tabBar setSelectionIndicatorImage:[UIImage imageNamed:@"selected.png"]];
然后你需要像在问题中那样设置你的图标。 这应该可以胜任。
答案 2 :(得分:0)
您现在可以在Storyboard中解决此问题。
选择要调整的标签栏项目,打开“大小检查器”,然后调整“顶部和底部图像插入”。你需要调整它们相同的数量,否则它们只会挤压/拉伸你的图像(所以在顶部+5,在底部-5)