我试图将标签栏图标颜色从默认蓝色更改为红色...我收到此错误 “Stray'\ 342'在程序中”..我得到的错误是“ - (void)recolorItemsWithColor:.......”而且在执行部分...无论如何都要解决错误...有没有其他方法可以将标签栏图标从默认蓝色更改为其他颜色
@interface UITabBar (ColorExtensions)
– (void)recolorItemsWithColor:(UIColor *)color shadowColor:(UIColor *)shadowColor shadowOffset:(CGSize)shadowOffset shadowBlur:(CGFloat)shadowBlur;
@end
答案 0 :(得分:5)
在定义标签栏的类中设置属性 tabBarItem为 - >>
UITabBarItem *tabBarItem1 = [[self.tabBar.tabBar items] objectAtIndex:0];
[tabBarItem1 setFinishedSelectedImage:[UIImage imageNamed:@"campaigns_hover.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"campaigns.png"]];
它是tabBarItem的属性,你可以将默认的蓝色图像更改为自定义图像。 campaigns_hover.png是选定的自定义图片AND campaigns.png是未选中的自定义图片...
享受秘密.. :)
它不使用私有API ..该函数在UITabBarItem.h类下定义。
答案 1 :(得分:2)
答案 2 :(得分:1)
您是否知道您尝试使用的代码使用私有API,从而导致您的应用被拒绝?
我不知道您所看到的具体错误。但是,如果您正在寻找另一种可以进入App Store的解决方案,您可以尝试PESTabBarAdditions。
答案 3 :(得分:1)
尝试将49x49 png图像添加到项目中,然后将这些代码行粘贴到applicationDidFinishLaunching内的app委托中,然后再添加子视图。
CGRect frame = CGRectMake(0, 0, 480, 49);
UIView *view = [[UIView alloc] initWithFrame:frame];
UIImage *tabBarBackgroundImage = [UIImage imageNamed:@"49x49.png"];
UIColor *color = [[UIColor alloc] initWithPatternImage:tabBarBackgroundImage];
[view setBackgroundColor:color];
[color release];
[[tabcontroller tabBar] insertSubview:view atIndex:0];
[view release];
希望它会有所帮助。