前言
UIView 不像 UIButton 加了点击事件就会有点击效果,体验要差不少,这里分别通过自定义和扩展来实现类似 UIButton 的效果。
正文
一、为 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 可以换成点击变更透明度。
【Swift 2.1 为 UIView 添加点击事件和点击效果】相关文章:
★ iOS开发中使用UIScrollView实现图片轮播和点击加载
★ 详解iOS开发中UItableview控件的数据刷新功能的实现
★ iOS App中UITableView左滑出现删除按钮及其cell的重用
★ 详解iOS App中UIPickerView滚动选择栏的添加方法
★ iOS中UIWebView网页加载组件的基础及使用技巧实例