`
thierry.xing
  • 浏览: 664359 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
580fa9c1-4a0c-3f40-a55a-c9256ce73302
Sencha Touch中...
浏览量:0
社区版块
存档分类
最新评论

iOS7 UITabBar自定义选中图片显示为默认蓝色的Bug

    博客分类:
  • iOS
 
阅读更多

今天在UITabBarController使用自定义图片设置UITabItem时,发现一个问题:

在iOS7以上的手机中,第一个Tab的选中图一直显示的是系统默认的蓝色图,查看了一下UITabItem的头文件,发现下面的内容:

 

/* The unselected image is autogenerated from the image argument. The selected image
 is autogenerated from the selectedImage if provided and the image argument otherwise.
 To prevent system coloring, provide images with UIImageRenderingModeAlwaysOriginal (see UIImage.h)
 */
- (instancetype)initWithTitle:(NSString *)title image:(UIImage *)image tag:(NSInteger)tag;
- (instancetype)initWithTitle:(NSString *)title image:(UIImage *)image selectedImage:(UIImage *)selectedImage NS_AVAILABLE_IOS(7_0);
- (instancetype)initWithTabBarSystemItem:(UITabBarSystemItem)systemItem tag:(NSInteger)tag;

意思是,如果不希望使用系统颜色,需要对图片加上属性UIImageRenderingModeAlwaysOriginal

所以按此方式实验,代码如下:

 

UIImage *musicImage = [UIImage imageNamed:@"music.png"];
UIImage *musicImageSel = [UIImage imageNamed:@"musicSel.png"];

musicImage = [musicImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
musicImageSel = [musicImageSel imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

self.musicViewController.tabBarItem = [[UITabBarItem alloc] initWithTitle:@"Music" image:musicImage selectedImage:musicImageSel];

 

问题解决

 

分享到:
评论

相关推荐

    ios-自定义UITabbar.zip

    1. **使用图像和颜色**:可以为每个`TabBarItem`提供自定义的图片,以及选中和未选中的状态图片。同时,可以调整`tintColor`和`barTintColor`,以使整体风格一致。 2. **自定义`UITabBarItem`**:通过重写`- (void)...

    iOS 自定义UITabBar中间按钮(OC版)

    本教程将详细讲解如何在Objective-C(OC)中实现一个自定义的`UITabBar`,中间带有可定制功能的按钮。 首先,我们需要创建一个新的类,让它继承自`UITabBar`。这个新类我们命名为`YLTabBar`。在 OC 中,你可以使用...

    iOS UITabBarController(自定义, tarBar中间有自定义按钮)

    默认情况下,每个子控制器都有一个对应的`UITabBarItem`,显示在`UITabBar`上。`UITabBar`上的图标和标签可以通过`UITabBarItem`的属性设置,如`title`和`image`。 自定义`UITabBar`时,我们可能需要对它的外观、...

    ios-自定义UITabBar.zip

    通过学习并理解这个"ios-自定义UITabBar.zip"中的代码,开发者可以掌握自定义`UITabBar`的基本技巧,为自己的应用打造更加独特和符合用户体验的底部导航栏。同时,这个示例也可以作为参考,帮助解决在实际项目中遇到...

    自定义UITabBarController的demo

    然而,系统默认的`UITabBar`有时不能满足开发者对于界面个性化的需求,这就需要我们对其进行自定义。本文将深入探讨如何在iOS应用中自定义`UITabBarController`,实现高度可定制的底部导航栏。 首先,我们要理解`...

    ios-UITabBar 点击动画效果 Q弹.zip

    总之,`ios-UITabBar 点击动画效果 Q弹`是一个很好的学习资源,它演示了如何利用iOS的动画框架和自定义视图控制器来实现一种创新的用户界面效果。通过深入分析和理解这部分代码,开发者可以提升自己的动画设计和编程...

    iOS UITabBar创建

    这些元素可以是系统提供的默认资源,也可以是自定义的图片和文字。在实际应用中,我们通常会在`UITabBarController`的子控制器中设置各自的`tabBarItem`属性,以便它们在`UITabBar`上正确显示。 在Xcode中,实现`...

    IOS源码——自定义Tab Bar的文字、颜色和图片加箭头.7z

    这个"IOS源码——自定义Tab Bar的文字、颜色和图片加箭头.7z"压缩包提供了一个示例,展示了如何实现这些功能。下面将详细介绍如何自定义Tab Bar的文字、颜色以及添加箭头。 1. **自定义文字** - `UITabBarItem` 是...

    ios-UITabBar 点击刷新.zip

    UITabBar 点击当前选中的 item 时触发下拉刷新。 使用 runtime hook UITabBar 的点击事件,不依赖 UITabBarControllerDelegate,支持刷新动画。 https://github.com/xiaopin/UITabBarRefresh.git

    iOS自定义UITabBar中间按钮

    iOS自定义UITabBar中间按钮 iOS自定义UITabBar中间按钮是iOS开发中一个常见的需求,通过自定义UITabBar可以实现中间按钮的自定义,满足不同的业务需求。在本篇文章中,我们将详细介绍如何自定义UITabBar中间按钮,...

    IOS自定义UITabBarController(动画背影移动,效果非常好)

    在`tabBar(_:didSelectItem:)`中,除了背景动画,还可以调整选中标签和未选中标签的状态,比如改变文字颜色、图片,或者添加过渡动画。同时,可以通过修改`selectedIndex`属性来实现更复杂的切换逻辑,比如在切换...

    UITabBar自定义

    同时,为了达到视觉上的突出,你还可以为该按钮设置特殊的背景图片或文字样式。 在Objective-C中,你可能会使用如下的代码片段: ```objc // 获取TabBar的所有items NSArray<UITabBarItem *> *items = tabBar....

    ios-自定义UITabBar中间按钮和cell左滑动按钮.zip

    本文将深入探讨如何实现`UITabBar`的自定义,特别是在其中添加中间按钮以及为`UITableViewCell`实现左滑动按钮的功能,这些都是iOS应用中常见的需求,能够使用户界面更加灵活且功能丰富。 首先,关于自定义`...

    UITabBar的自定义

    1. **图片和文字**:你可以为每个`UITabBarItem`设置自定义的图片和文字,这可以通过创建`UITabBarItem`对象并设置其`title`和`image`属性实现。为了达到更美观的效果,可以使用不同状态(正常、选中)的图片。 2. ...

    IOS源码——自定义Tab Bar的文字、颜色和图片加箭头.zip

    2. **自定义颜色**:对于Tab Bar的背景颜色和选中状态下的颜色,可以分别通过设置`UITabBar.appearance.backgroundColor`和`UITabBarItem.selectedImageTintColor`来实现。此外,我们还可以修改选中状态下Item的文字...

    ios源码之自定义TabBar通知.rar

    在iOS应用开发中,自定义TabBar是一种常见的需求,它能提供更加个性化和独特的...通过理解上述知识点,并结合"ios源码之自定义TabBar通知.rar"中的代码实践,你可以为你的iOS应用打造出独特且用户友好的TabBar界面。

    自定义动画效果的UITabBar

    在iOS应用开发中,`UITabBar` 是一个标准组件,用于展示多个主要功能选项,用户可以通过点击不同的标签在各个页面之间切换。然而,系统默认的`UITabBar`样式可能无法满足所有设计需求,因此开发者经常需要自定义`...

    自定义TabBar图片

    - 在iOS中,我们可以使用`UITabBarItem`类来创建自定义的TabBarItem。通过设置`image`和`selectedImage`属性,我们可以分别指定未选中和选中状态下的图片。对于更复杂的定制,可以使用`appearance`代理方法来自定义...

    iOS 自定义UINavigationController和UITabBarController

    2. **自定义选中状态**:通过设置`tabBar.tintColor`和`tabBar.selectedItemTintColor`,可以改变选中和未选中的颜色效果。 3. **调整标签顺序**:通过调整`viewControllers`数组的顺序,可以改变标签的显示顺序。 ...

Global site tag (gtag.js) - Google Analytics