ios - 选中时如何删除覆盖 UITabBarItem 的蓝色方 block ?

标签 ios objective-c uitabbarcontroller uitabbaritem

我有一个 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/

相关文章:

ios - 覆盖 TabBarController 中 ViewController 的类型?

ios - 从 plutil 获取信息

iphone - 如何在日历 View 中设置图像 iPhone

objective-c - 如何以编程方式嵌入 Nib ?

ios - 登录后添加TabBar Item

c# - 使用 Monotouch 如何实现 UITabBarController 作为我的 RootViewController

c# - Monotouch 对话框多行元素高度不增长

ios - 子类 UIButton 来保存数据?

objective-c - 无法弄清楚如何保存文件

ios - 如何防止tableview与toolbar碰撞?