繁体   English   中英

自定义标签栏iOS-3个按钮

[英]Custom Tab Bar iOS - 3 Buttons

我想创建一个只有3个按钮的自定义标签栏设计。 尝试将图像拆分为适合iPhone屏幕时出现问题。 宽度为320时,您需要将2个标签页的宽度设为106,将第三个标签页的宽度设为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?

这可能会给您您想要的东西: 设置选项卡的背景图像

这具有制作完全自定义标签栏按钮的过程。

我担心您可能正在研究UITabBar / UITabBarController的100%自定义实现-我不知道有什么方法可以在这种程度上自定义股票。

我设法通过子类化UITabBarController并使用UIImageViews而不是@human建议的UIButtons来解决此问题,因为我无法摆脱更改按钮图像的不合理方法,无论您是否设置图像,该方法都会闪烁并突出显示或不。

我的代码可以在这里的答案中找到: UITabBar定制未按预期工作

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM