xcode 更改选项卡栏图标的默认蓝色

sigwle7e  于 2023-05-01  发布在  其他
关注(0)|答案(4)|浏览(148)

我试图将tabbar图标的颜色从默认的蓝色更改为红色,但我得到了这个错误:
程序中的“\342”错误
我在“-(void)colorItemsWithColor:.……”,并在执行部分。有没有办法解决这个错误?
是否有其他方法将标签栏图标从默认的蓝色更改为其他颜色?

@interface UITabBar (ColorExtensions)

– (void)recolorItemsWithColor:(UIColor *)color shadowColor:(UIColor *)shadowColor shadowOffset:(CGSize)shadowOffset shadowBlur:(CGFloat)shadowBlur;

@end
nszi6y05

nszi6y051#

在定义选项卡栏的类中,将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 是选定的自定义图像 * 和 * 活动。png是未选中时的自定义图像。..
享受这个秘密吧。..:)
它不使用私有API。..该函数在 UITabBarItem下定义。h 类。

vxbzzdmp

vxbzzdmp2#

转到您的资产文件夹,找到资产,然后单击Identity Inspector。将“渲染为”更改为“原始图像”(假设图标是您想要的颜色)。

kkih6yb8

kkih6yb83#

尝试将49x49 png图像添加到项目中,然后在添加子视图之前,将这些代码行粘贴到applicationDidFinishLaunching内的应用程序委托中。

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];

希望能有帮助。

bvjveswy

bvjveswy4#

您是否意识到您尝试使用的代码使用了私有API,因此会导致您的应用被拒绝?
我不知道你看到的具体错误。但是如果你正在寻找另一种解决方案,一种可以进入App Store的解决方案,你可以尝试PESTabBarAdditions

相关问题