且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2022-04-12 10:22:58

前言

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

 

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

 

正文

  一、为 UIView 添加点击事件

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

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

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

 

 

  二、为 UIView 添加点击效果

【Swift 2.1】为 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()
        })
    }
}
【Swift 2.1】为 UIView 添加点击事件和点击效果

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


转载:http://www.cnblogs.com/over140/p/5144707.html