Swift 2.1 UIViewにクリックイベントとクリック効果を追加
1320 ワード
前言
UIViewはUIButtonがクリックイベントを加えるとクリック効果があるようには見えませんが、体験はかなり悪く、ここではそれぞれカスタマイズと拡張でUIButtonのような効果を実現しています.
本文
一、UIVEewにクリックイベントを追加する
二、UIViewにクリック効果を追加する
ここでは自分のクリック効果に変えることができ、UIImageViewならクリックで透明度を変更することができます.
UIViewはUIButtonがクリックイベントを加えるとクリック効果があるようには見えませんが、体験はかなり悪く、ここではそれぞれカスタマイズと拡張でUIButtonのような効果を実現しています.
本文
一、UIVEewにクリックイベントを追加する
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, withEvent event: UIEvent?) {
backgroundColor = UIColor.groupTableViewBackgroundColor()
}
override func touchesCancelled(touches: Set?, withEvent event: UIEvent?) {
UIView.animateWithDuration(0.15, animations: { () -> Void in
self.backgroundColor = UIColor.clearColor()
})
}
override func touchesEnded(touches: Set, withEvent event: UIEvent?) {
UIView.animateWithDuration(0.15, animations: { () -> Void in
self.backgroundColor = UIColor.clearColor()
})
}
}
ここでは自分のクリック効果に変えることができ、UIImageViewならクリックで透明度を変更することができます.