iOS - Swift UIButton中ImageView的animationImages动画执行完毕后,图标变暗

情况

变暗

贴出重要代码

// 设置按钮图片动画数组
voiceButton.imageView?.animationImages = [
    #imageLiteral(resourceName: "message_voice_sender_playing_1"),
    #imageLiteral(resourceName: "message_voice_sender_playing_2"),
    #imageLiteral(resourceName: "message_voice_sender_playing_3")
]
// 开始动画
voiceButton.imageView?.startAnimating()
// 停止动画
voiceButton.imageView?.stopAnimating()

原因

这个按钮在结束动画之后之所以会变暗,是因为它在动画结束之后自动显示为高亮图�片,不信?那只好上证据了~

// 设置语音按钮的高亮图片
voiceButton.setImage(#imageLiteral(resourceName: "message_voice_sender_normal"), for: .highlighted)

那知道原因之后就很好解决了

解决方案

方案一:设置按钮的高亮图片

将按钮的高亮图片与普通状态下的一致即可。这里就再赘述了

方案二:adjustsImageWhenHighlighted = false

在UIButton中有这么一个属性

adjustsImageWhenHighlighted

查看官方文档的说明

当该属性设置为true时,按钮在高亮状态下,图片会绘制成高亮(�前提是没有手动设置高亮图片)。并且该值的默认值为true 所以我们也可以将属性adjustsImageWhenHighlighted设置为false,不让系统自动帮我们设置高亮状态下显示的图片即可。

效果

完美

附上相关项目:Swift 3.0 高仿微信

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏vue学习

小程序 — 实现左滑删除效果①

(1)movable-area这个就是定义了一个移动的区域,跟普通的<view></view>的含义是一样的,不同在于,接着往下看;

1552
来自专栏MixLab科技+设计实验室

DIY一个Sketch插件,生成猫猫狗狗的全家福

最近朋友圈都在玩的全家福: ? 看了下是使用 cocos2D 引擎制作的, http://www.cocos.com/creator 主要是图片合成,利用前端...

2897
来自专栏HTML5学堂

网络字体@font-face 如何处理网页中的特殊字体

HTML5学堂:随着网页的发展,网页中出现了越来越多的字体种类,网页自带的微软雅黑、宋体、黑体已经越来越难以满足设计的需要,那么,如何在网站中使用比较特殊的字体...

3615
来自专栏Jerry的SAP技术分享

微信小程序开发系列二:微信小程序的视图设计

大家如果跟着我第一篇文章 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 一起动手,那么微信小程序的开发环境一定搭好了。效果就是能把该小程序的体验版以二...

912
来自专栏程序员叨叨叨

私人订制Android本地图片选择器

史上最强的安卓图片选择器——GalleryFinal; 简书博客地址——http://www.jianshu.com/p/48ddd6756b7a

1193
来自专栏菩提树下的杨过

silverlight数据绑定模式TwoWay,OneWay,OneTime的研究

asp.net开发中,数据绑定是一个很简单的概念,控件与数据绑定后,控件可以自动把数据按一定的形式显示出来。(当然控件上的值改变后,可以通过提交页面表单,同时后...

1866
来自专栏游戏杂谈

AS3给图片加水印文字

通过FileReference获取选中的图片,调用它的load方法,将图片存入到内存中。使用Loader(flash.display.Loader)类的loa...

782
来自专栏雪胖纸的玩蛇日常

Vue+koa2开发一款全栈小程序(3.vue入门、Mpvue入门)

还有选最后一条时,让你选npm、yarn、No,I can handle it myselft,要选第三个No,I can handle it myselft,...

1533
来自专栏Windows Community

Windows 8.1 应用再出发 - 几种更新的控件

Windows 8.1 除了新增了很多很有用的控件外,还对一些控件做出了更新。接下来我们一起对这些更新的控件一一做出讲解。 1. FlipView 更新 翻转视...

3528
来自专栏全栈

前端工程化(三)---Vue的开发模式

1323

扫码关注云+社区