美文网首页iOS开发iOS进阶之路
两种设定UIImageRenderingMode的方式

两种设定UIImageRenderingMode的方式

作者: 嘻嘻zhy | 来源:发表于2015-12-11 12:05 被阅读2187次

问题

今天在设置NavgationItem上的Bar Button Item时出了点问题。
首先,先添加Bar Button Item。


Bar Button Item Bar Button Item

然后设置图片为自己的图片,logo.png。


logologo
Bar ItemBar Item

奇怪的是这时候StoryBoard上面,显示为一块蓝色。


StoryBoardStoryBoard

而且运行的时候,同样出现了这种情况。


运行后运行后

原因具体见这篇文章:
【GeekBand】UITabBarItem与UIImageRenderingMode
这是以前在Tabbar上面设置图标的时候也遇到了问题,并已经解决。

解决(一)

所以我们只要在对应的代码里面这样写

    NSArray<UIBarButtonItem*> *array= self.navigationItem.rightBarButtonItems;
    UIBarButtonItem *item=  array[0];
    item.image =  [[UIImage imageNamed:@"logo.png"]imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

再继续运行


成功成功

成功实现。

解决(二)

先把一开始设定BarButtonItem的代码删掉。
其实我们这里写代码只是设置了image的RenderingMode模式,可不可以不用代码,在StoryBoard上面直接修改呢?

BarButtonItemBarButtonItem

发现BarButtonItem中并没有这个选项。

如果不修改StoryBoard,修改图片可以么?
点击放在Assert.xcassets中的图片。


Assert.xcassetsAssert.xcassets

然后查看选项


Render AsRender As

看到Render As这个选项了吗?
这个选项很关键,把它设置为Original Image。
再次运行。


成功成功

成功实现!

相关文章

  • 两种设定UIImageRenderingMode的方式

    问题 今天在设置NavgationItem上的Bar Button Item时出了点问题。首先,先添加Bar Bu...

  • UIImageRenderingMode

    在IOS7中增加创建UITabBarItem的方法的同时新增了 UIImageRenderingMode属性。 在...

  • 停止Thread的方式

    当你想要依据某些条件终结thread的时候,有两种最常见的方式。 设定标记 最常见停止thread的方式是设定某些...

  • UIImage UIImageRenderingModeAlwa

    UIImageRenderingMode 有三种渲染模式: UIImageRenderingModeAutomat...

  • UITabBarItem与UIImageRenderingMod

    UITabBarItem与UIImageRenderingMode 前言今天遇到了UITabBarItem中图片错...

  • UIImageRenderingMode 属性详解

    在iOS 7中 UIImage新增了一个只读属性renderingMode,同时增加了一个方法 -(UIImage...

  • 两种文件上传按钮的自定义

    前端入坑纪 29 今天来个关于如题设定的内容更新,简单的总结常用的两种方式(确实是两种,我没数错,请往下看)。 O...

  • Go语言向函数传递数组

    如果你想向函数传递数组参数,你需要在函数定义时,声明形参为数组,我们可以通过以下两种方式来声明: 方式一 形参设定...

  • 设定:修炼方式

    法师修炼精神海,战士修炼丹田。 灵梦大陆只有灵力这一种能量。 可以被战士和法师吸收转化。 法师叫魔法元素,战士叫灵...

  • 命题-第十四章-填空

    在串行通信中,收发双方对波特率的设定应该是( )的; 根据串行数据的时钟控制方式分为( )、( )两种。 【解析】...

网友评论

本文标题:两种设定UIImageRenderingMode的方式

本文链接:https://www.haomeiwen.com/subject/cpyyhttx.html