你的位置:首页 > 操作系统

[操作系统]【Swift 2.1】为 UIView 添加点击事件和点击效果


 

前言

  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 可以换成点击变更透明度。