iOS UITabBarItem去掉系统自带的渲染效果

    NSArray *items = self.tabBarController.tabBar.items;
    UITabBarItem *item = items[0];
    item.image = [[UIImage imageNamed:@"1"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
    item.selectedImage = [[UIImage imageNamed:@"3"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
    UITabBarItem *item1 = items[1];
    item1.image = [[UIImage imageNamed:@"2"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
    item1.selectedImage = [[UIImage imageNamed:@"4"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

实现效果如下:

iOS UITabBarItem去掉系统自带的渲染效果_第1张图片

iOS UITabBarItem去掉系统自带的渲染效果_第2张图片

UIImage有3种渲染模式:

typedef NS_ENUM(NSInteger, UIImageRenderingMode) {
    UIImageRenderingModeAutomatic,          // Use the default rendering mode for the context where the image is used
    
    UIImageRenderingModeAlwaysOriginal,     // Always draw the original image, without treating it as a template
    UIImageRenderingModeAlwaysTemplate,     // Always draw the image as a template image, ignoring its color information
} NS_ENUM_AVAILABLE_IOS(7_0);


你可能感兴趣的:(UITabBarItem)