我有一个 iPad 应用程序(Xcode 5、iOS 7、ARC 和 Storyboards)。我有一个 UITabBarController
,每个场景都有一个 UITabBarItem
。
当我点击一个标签栏项目时,它会转到正确的场景,但“当前”标签栏项目图像被“蓝色框”覆盖。
如何用不同的图像替换那个“蓝框”? (我不想更改颜色;我想用不同的图像替换它)。
最佳答案
您用于标签栏项目的图像必须将其 renderingMode
设置为 UIImageRenderingModeAlwaysOriginal
否则它们将显示为蓝色方 block (模板)。名为“Tab Bars”的文档是这样说的,
Tab Bar Item Icons
Each item in a tab bar can have a custom selected image and unselected image. You can specify these images when you initialize a tab bar item using the initWithTitle:image:selectedImage: method. Note that a tab bar item image will be automatically rendered as a template image within a tab bar, unless you explicitly set its rendering mode to UIImageRenderingModeAlwaysOriginal. For more information, see Template Images.
我不认为你可以在 Storyboard中设置它们,所以你应该在 Controller 的 init 方法中进行,
-(id)initWithCoder:(NSCoder *)aDecoder {
if (self = [super initWithCoder:aDecoder]) {
UIImage *img = [UIImage imageNamed:@"pic.jpg"];
img = [img imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
[self.tabBarItem setSelectedImage:img];
}
return self;
}
关于ios - 选中时如何删除覆盖 UITabBarItem 的蓝色方 block ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25224466/