Welcome

首页 / 移动开发 / IOS / Swift 2.1 为 UIView 添加点击事件和点击效果

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

正文
一、为 UIView 添加点击事件
extension UIView {func addOnClickListener(target: AnyObject, action: Selector) {let gr = UITapGestureRecognizer(target: target, action: action)gr.numberOfTapsRequired = 1userInteractionEnabled = trueaddGestureRecognizer(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 inself.backgroundColor = UIColor.clearColor()})}override func touchesEnded(touches: Set<UITouch>, withEvent event: UIEvent?) {UIView.animateWithDuration(0.15, animations: { () -> Void inself.backgroundColor = UIColor.clearColor()})}}
 这里大家可以换成自己的点击效果,如果是 UIImageView 可以换成点击变更透明度。