美文网首页
swift闭包(以view tap事件为例)

swift闭包(以view tap事件为例)

作者: sky_fighting | 来源:发表于2018-04-03 14:23 被阅读6次

步骤一:创建继承UIView的类AFView,并声明一个带参,返回值为空的闭包

typealias clickViewEvent = (_ sender: UIView)->()

步骤二:声明私有属性clickEvent,类型为步骤一声明的clickViewEvent

private var clickEvent: clickViewEvent?

步骤三:声明一个实例方法,参数为闭包类型,代码如下,属性赋值,并且给view添加tap事件

func clickView(action: clickViewEvent?) {       

      clickEvent = action   

      let tap = UITapGestureRecognizer(target: self, action: #selector(clickViewEvent(sender:)))       

      self.addGestureRecognizer(tap)

}

步骤四:实现view的tap事件

@objc private func clickViewEvent(sender:UITapGestureRecognizer){       

      guard let block = clickEvent else { return }        //判断闭包是否为空

      block(sender.view!)   //回调---参数为view

}

如下图所示:

view添加tap事件

步骤五:创建view,并使用点击事件

view tap事件的使用

相关文章

  • swift闭包(以view tap事件为例)

    步骤一:创建继承UIView的类AFView,并声明一个带参,返回值为空的闭包typealias clickVie...

  • 在做弹出层时的总结(拦截手势的action)

    在做弹出层时的总结: 如果自定义view上面加了手势(以tap为例),那么在其上面添加继承UIView的类(如vi...

  • Swift 5.3 - SE-0279 Multiple Tra

    在最初 Swift 的定义中,当方法的最后一个参数为闭包时,称该闭包为尾随闭包(trailing closure)...

  • Swift-闭包

    Swift 闭包 函数 ()->() Swift 中的闭包和 Objective-C 中的 block 类似,闭包...

  • Swift闭包和函数

    函数在Swift中只是一种特殊的闭包,闭包在Swift语言中是一等公民,支持闭包嵌套和闭包传递。Swift中的闭包...

  • Android——事件传递机制

    View的触摸事件 ex:以一个按钮为例,同时注册 OnTouchListener 和 OnClickListen...

  • Swift-内联闭包速记参数($0, $1)

    以数组中的排序方法为例,sorted可以传入一个闭包作为参数,限制为2个入参(Element)。 常规排序 闭包的...

  • swift4 闭包

    swift 闭包 闭包:swift 中 函数是闭包的一种类似于oc的闭包闭包表达式(匿名函数) -- 能够捕获上下...

  • Swift中的闭包

    在Swift中有两种闭包,逃逸闭包(@escaping)和非逃逸闭包(@nonescaping)。从Swift 3...

  • 100 Days of Swift - Day 06 - 闭包(

    100 Days of Swift - Day 06 - 闭包Closures 6.1 闭包 Swift函数也属于...

网友评论

      本文标题:swift闭包(以view tap事件为例)

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