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

 

前言ide

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

 

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

 

正文code

  1、为 UIView 添加点击事件blog

extension UIView {

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

}

 

 

  2、为 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 能够换成点击变动透明度。get

相关文章
相关标签/搜索