1
好了,所以,我想创建一个自定义标签栏。我读过一百篇教程,并下载了一半的示例代码项目,这个问题似乎仍然存在于所有这些项目中。
我真的不想要一个自定义背景,我真正想要的按钮占据整个区域,所以没有背景显示。为什么当使用大小为49像素(视网膜为98像素)的图像作为背景和按钮...标签栏本身被放大并且苹果增加的丑陋光芒是可见的?
这是我使用的代码(在这里发现栈):
UIImage *selectedImage0 = [UIImage imageNamed:@"transactions_tab_btn_active"];
UIImage *unselectedImage0 = [UIImage imageNamed:@"transactions_tab_btn"];
UIImage *selectedImage1 = [UIImage imageNamed:@"bills_tab_btn_active"];
UIImage *unselectedImage1 = [UIImage imageNamed:@"bills_tab_btn"];
UIImage *selectedImage2 = [UIImage imageNamed:@"messages_tab_btn_active"];
UIImage *unselectedImage2 = [UIImage imageNamed:@"messages_tab_btn"];
UIImage *selectedImage3 = [UIImage imageNamed:@"reports_tab_btn_active"];
UIImage *unselectedImage3 = [UIImage imageNamed:@"reports_tab_btn"];
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];
UIImageView *tabBarImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"tab_bar"]];
if ([[[UIDevice currentDevice] systemVersion] floatValue] < 5) {
[tabBar insertSubview:tabBarImageView atIndex:0];
}else{
[tabBar insertSubview:tabBarImageView atIndex:1];
}
[item0 setFinishedSelectedImage:selectedImage0 withFinishedUnselectedImage:unselectedImage0];
[item1 setFinishedSelectedImage:selectedImage1 withFinishedUnselectedImage:unselectedImage1];
[item2 setFinishedSelectedImage:selectedImage2 withFinishedUnselectedImage:unselectedImage2];
[item3 setFinishedSelectedImage:selectedImage3 withFinishedUnselectedImage:unselectedImage3];
同样,我可以删除背景图片,因为它是对我没有用的,但是没有它,默认的黑色背景的标签酒吧是可见的。两者都不好。请帮助。