【Swift 2.1】为 UIView 添加点击事件和点击效果

摘要:
http://over140.cnblogs.com文本1:为UIView扩展添加单击事件UIView{funcaddOnClickListener(目标:选择器){letgr=UIMapGestureRecognizer(目标:操作:

前言

  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<UITouch>, withEvent event: UIEvent?) {
        backgroundColor = UIColor.groupTableViewBackgroundColor()
    }

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

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

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

免责声明:文章转载自《【Swift 2.1】为 UIView 添加点击事件和点击效果》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇环信集成时常见错误nodejs 里https的开启下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

使用Navicat导出可执行脚本 SqlServer数据库某表的部分数据

  今天遇到需要导出SqlServer中某表的部分数据,然后导入正式环境的数据库。 于是我想,直接导出可执行的sql脚本,然后放到正式环境上执行就好,然后就是用了Navicat工具辅助导出可执行的sql脚本, 步骤如下: 点击导出 、 然后,选择SQL脚本文件,点击下一步  点击要导出的位置-->点全选 直接下一步-->下一步  导出来...

SpringBoot整合JPA简单介绍

一、JPA介绍JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。 Sun引入新的JPA ORM规范出于两个原因:其一,简化现有Java EE和Java SE应用开发工作;其二,Sun希望整合ORM技术,实现天下归一。 API用来操...

公用技术——数据格式——JSON——Jackson类库——序列化——属性,键映射关系

  通常情况下,对象的属性与JSON键的关系是一对一,键的顺序是根据属性的顺序,键的名称是与属性的名称保持一致的。 Jackson有很多注解可以修改以上三种关系。首先从属性名称与键名称开始。 1、名称 1.1     @JsonProperty 在属性上添加@JsonProperty注解,给value赋值可以修改对应的键名称,例如User对象存在name属...

Java8 stream处理List,Map总结

Java 8 Stream Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。 Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象。 Stream API可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。 这种风格将要处理的元...

vue实现简单日历

1 <!DOCTYPE html> 2 <html lang="en"> 3 4 <head> 5 <meta charset="UTF-8"> 6 <title>日历</title> 7 <style> 8 * {...

解决logstash.outputs.elasticsearch[main] Could not index event to Elasticsearch status 404

现象:lostack启动正常,logstack收集输入redis数据,输出到elasticsearch写入失败 提示:去建索引 的时候elasticsearch返回404 [2019-11-12T11:37:29,009][WARN ][logstash.outputs.elasticsearch][main] Could not index even...