我想使用self.tabBarItem.image = [UIImage imageNamed:@"home_icon.png"];
更改标签栏项目的图像看起来很简单,但我无法让它运行。注意:我只是将文件名从第一个替换为home_icon。代码使用名称“first”。
详细说明:
我已经开始使用标准的选项卡式应用程序,并且只更改了这一行代码。 Xcode然后加载64x64图像。我在项目中放置了一个home_icon.png文件,并确保它是一个30x30的png文件。文档说:“此方法在系统缓存中查找具有指定名称的图像对象,并返回该对象(如果存在)。如果匹配的图像对象尚未存在于缓存中,则此方法从指定文件加载图像数据,缓存它,然后返回结果对象。“为什么我不能在这里简单引用不同的文件?我不明白这里实际引用了什么。原始行为self.tabBarItem.image = [UIImage imageNamed:@"first"];
,引用first.png。
我尝试了什么(见目前为止的答案):
UIImage *img = [UIImage imageNamed:@"home.png"];
self.tabBarItem.image = img;
答案 0 :(得分:0)
从最后删除“.png”。
答案 1 :(得分:0)
你应该尝试下面的代码;
UIImage *img = [UIImage imageNamed:@"image.png"];
[[tabBarController.viewControllers objectAtIndex:tabImageIndex] tabBarItem].image=img;
答案 2 :(得分:0)
使用以下代码更改标签栏的背景。您可以根据您的标签添加不同的不同图像。
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewControllers{
NSUInteger index=[[tabBarController viewControllers] indexOfObject:viewControllers];
switch (index) {
case 0:
[tabBarController.tabBar setBackgroundImage:[UIImage imageNamed:@"tab_act21.png"]];
break;
case 1:
[tabBarController.tabBar setBackgroundImage:[UIImage imageNamed:@"tab_act22.png"]];
break;
case 2:
[tabBarController.tabBar setBackgroundImage:[UIImage imageNamed:@"tab_act23.png"]];
break;
default:
break;
}
return YES;
}
如果您只想更改标签栏项目图像然后使用以下代码。
self.tabbarcontroller.tabBarItem.image=[UIImage imageNamed:@"Someimage.png";
答案 3 :(得分:0)
你确定[UIImage imageNamed:@“home.png”]返回不是零吗?签入控制台
NSLog(@"%@", [UIImage imageNamed:@"home.png"]);
如果是这样,请尝试将图像添加到Build Phases - >复制捆绑资源
答案 4 :(得分:0)
解决方案是在png文件中仅使用alpha通道。有关详细信息,请参阅http://developer.apple.com/library/ios/#documentation/userexperience/conceptual/mobilehig/IconsImages/IconsImages.html。