【发布时间】:2015-08-04 09:40:09
【问题描述】:
我正在尝试使用自定义 *.png 文件设置我的 UITabBarController 的标签栏图标(一个用于选定的文件,一个用于未选定的文件)。
图像都是非交错 png 格式,并且在 *.imageset 中正确命名(@2x、@3x 等)。
但标签栏项目仅显示为这样的轮廓:
我尝试在 Interface Builder 中设置这些图像,但没有成功。然后我还尝试在 MyTabBarController(扩展 UITabBarController)的“loadView”函数中以编程方式设置它们,如下所示:
UIImage *selectedImage;
UIImage *unselectedImage;
// tab1
selectedImage = [UIImage imageNamed:@"cmdGamesActive"];
unselectedImage = [UIImage imageNamed:@"cmdGamesInactive"];
UITabBarItem *item1 = [self.tabBar.items objectAtIndex:0];
item1 = [item1 initWithTitle:@"Games" image:unselectedImage selectedImage:selectedImage];
// tab2
selectedImage = [UIImage imageNamed:@"cmdFriendsActive"];
unselectedImage = [UIImage imageNamed:@"cmdFriendsInactive"];
UITabBarItem *item2 = [self.tabBar.items objectAtIndex:1];
item2 = [item2 initWithTitle:@"Friends" image:unselectedImage selectedImage:selectedImage];
// tab3
selectedImage = [UIImage imageNamed:@"cmdTrophiesActive"];
unselectedImage = [UIImage imageNamed:@"cmdTrophiesInactive"];
UITabBarItem *item3 = [self.tabBar.items objectAtIndex:2];
item3 = [item3 initWithTitle:@"Trophies" image:unselectedImage selectedImage:selectedImage];
// tab4
selectedImage = [UIImage imageNamed:@"cmdSettingsActive"];
unselectedImage = [UIImage imageNamed:@"cmdSettingsInactive"];
UITabBarItem *item4 = [self.tabBar.items objectAtIndex:3];
item4 = [item4 initWithTitle:@"Settings" image:unselectedImage selectedImage:selectedImage];
...结果相同。
任何想法如何解决这个问题?
【问题讨论】:
-
完成图片名称尝试在最后添加.png。
-
@Samraan Khaan:谢谢,但这没有帮助。有趣的是,它适用于另一张仅具有透明度和一些白色的图像。但是我的图标非常丰富多彩......还有什么想法吗?
-
@cookiemonsta:新的 iOS SDK 似乎无法做到这一点……仅支持选中时着色的黑白图像。
-
啊,糟了!谢谢你的更新:)
-
@cookiemonsta:看看这个线程。它描述了与标签栏项目非常相似的问题。 stackoverflow.com/questions/19372269/…
标签: ios xcode xcode6 uitabbarcontroller uitabbar