前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iOS - Swift UIButton中ImageView的animationImages动画执行完毕后,图标变暗

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

作者头像
LinXunFeng
发布2018-06-29 15:17:25
1.5K0
发布2018-06-29 15:17:25
举报

情况

变暗

贴出重要代码

// 设置按钮图片动画数组
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 高仿微信

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.01.14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 情况
  • 原因
  • 解决方案
    • 方案一:设置按钮的高亮图片
      • 方案二:adjustsImageWhenHighlighted = false
      • 效果
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档