我想要创建一个只有3个按钮的自定义标签栏设计。
尝试拆分图像以适应iPhone屏幕时出现问题。宽度为320时,您需要2个选项卡为106宽,第3个选项为108。
当我以正确的尺寸创建图像时,它们不适合我最终在右手边有一条1px线,如下所示:
这是我正在使用的代码:
UIImage *selectedImage0 = [UIImage imageNamed:@"tb_1_down.png"];
UIImage *unselectedImage0 = [UIImage imageNamed:@"tb_1_up.png"];
UIImage *selectedImage1 = [UIImage imageNamed:@"tb_2_down.png"];
UIImage *unselectedImage1 = [UIImage imageNamed:@"tb_2_up.png"];
UIImage *selectedImage2 = [UIImage imageNamed:@"tb_3_down.png"];
UIImage *unselectedImage2 = [UIImage imageNamed:@"tb_3_up.png"];
UITabBar *tabBar = self.tabBarController.tabBar;
UITabBarItem *item0 = [tabBar.items objectAtIndex:0];
UITabBarItem *item1 = [tabBar.items objectAtIndex:1];
UITabBarItem *item2 = [tabBar.items objectAtIndex:2];
self.tabBarController.tabBar.frame = CGRectMake(0, 430, 320, 50);
[self.tabBarController.tabBar setBackgroundImage:[UIImage imageNamed:@"tb_tabBar_BG.png"]];
[item0 setFinishedSelectedImage:selectedImage0 withFinishedUnselectedImage:unselectedImage0];
[item1 setFinishedSelectedImage:selectedImage1 withFinishedUnselectedImage:unselectedImage1];
[item2 setFinishedSelectedImage:selectedImage2 withFinishedUnselectedImage:unselectedImage2];
有没有办法让'item1'108宽而不是106?
答案 0 :(得分:1)
这可能会给你你想要的东西: Setting a background image for a tabbar
这是制作完全自定义标签栏按钮的过程。
答案 1 :(得分:0)
我担心您可能会看到UITabBar / UITabBarController的100%自定义实现 - 我不知道如何自定义库存。
答案 2 :(得分:0)
我设法通过继承UITabBarController来解决这个问题,并使用UIImageViews代替UIButtons作为@human建议,因为我无法摆脱改变按钮图像的不合理方式,无论你是否闪烁,都闪烁不定是否设置图像。
我的代码可以在答案中找到:UITabBar customisation not working as expected