博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Swift 2.1】为 UIView 添加点击事件和点击效果
阅读量:6704 次
发布时间:2019-06-25

本文共 1182 字,大约阅读时间需要 3 分钟。

 

前言

  UIView 不像 UIButton 加了点击事件就会有点击效果,体验要差不少,这里分别通过自定义和扩展来实现类似 UIButton 的效果。

 

声明

  欢迎转载,但请保留文章原始出处:)
  博客园:http://www.cnblogs.com
  农民伯伯: http://over140.cnblogs.com

 

正文

  一、为 UIView 添加点击事件

extension UIView {    func addOnClickListener(target: AnyObject, action: Selector) {        let gr = UITapGestureRecognizer(target: target, action: action)        gr.numberOfTapsRequired = 1        userInteractionEnabled = true        addGestureRecognizer(gr)    }}

 

 

  二、为 UIView 添加点击效果

class UIViewEffect : UIView {    override func touchesBegan(touches: Set
, withEvent event: UIEvent?) { backgroundColor = UIColor.groupTableViewBackgroundColor() } override func touchesCancelled(touches: Set
?, withEvent event: UIEvent?) { UIView.animateWithDuration(0.15, animations: { () -> Void in self.backgroundColor = UIColor.clearColor() }) } override func touchesEnded(touches: Set
, withEvent event: UIEvent?) { UIView.animateWithDuration(0.15, animations: { () -> Void in self.backgroundColor = UIColor.clearColor() }) }}

    这里大家可以换成自己的点击效果,如果是 UIImageView 可以换成点击变更透明度。

 

你可能感兴趣的文章
c++ 静态持续变量
查看>>
MFC超链接静态类的使用
查看>>
我所遭遇过的游戏中间件---SpeedTree
查看>>
csharp .net vb 复制图像
查看>>
android:versionCode和android:versionName 用途(转)
查看>>
android之SeekBar控件用法
查看>>
Fragment Transactions & Activity State Loss
查看>>
jQuery插件 -- 表单验证插件jquery.validate.js
查看>>
我的MYSQL学习心得(十四) 备份和恢复
查看>>
nodejs express 安装
查看>>
flume-ng-elasticsearch 索引时间命名问题(时区和时间格式)
查看>>
PE文件结构学习
查看>>
pthread_setschedparam
查看>>
在对listctrl的控件进行重载的过程中,GetHeaderCtrl()返回NULL的问题
查看>>
WEB网站前端性能分析相关
查看>>
sql server2008系统表详细说明sys.开头的表
查看>>
Python基础(9)--正则表达式
查看>>
解决Installation error: INSTALL_FAILED_VERSION_DOWNGRADE错误
查看>>
os 计算机的启动
查看>>
C++Vector使用方法
查看>>