服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Swift - Swift 2.1 为 UIView 添加点击事件和点击效果

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

2021-01-22 12:37Swift教程网 Swift

本文主要介绍 Swift UIView,这里给大家提供代码示例作为参考为UIView 添加点击事件和点击效果,希望能帮助IOS开发的同学

前言

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

正文

  一、为 UIView 添加点击事件

?
1
2
3
4
5
6
7
8
9
10
extension UIView {
 
  func addOnClickListener(target: AnyObject, action: Selector) {
    let gr = UITapGestureRecognizer(target: target, action: action)
    gr.numberOfTapsRequired = 1
    userInteractionEnabled = true
    addGestureRecognizer(gr)
  }
 
}

        二、为 UIView 添加点击效果

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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 可以换成点击变更透明度。

延伸 · 阅读

精彩推荐