2015-11-02 141 views
1

我正在創建一個自定義UIView。我想知道如何在UIView上覆制UIButton行爲。自定義UIView addTarget?

我希望能夠撥打addTarget就像UIButton

我知道,我可以繼承UIControl,並呼籲

self.sendActionsForControlEvents(UIControlEvents.TouchUpInside); 

但我想做到這一點上UIView,因爲我設計它放在一個XIB文件。

+0

添加UIControl與Backgound色彩清晰的自定義視圖邊界再加入目標是UIControl否則添加TapGesture到視圖 – TamilKing

回答

2

可以使用UITapGestureRecognizer,將其添加在查看程序如下

self.userInteractionEnabled = true 
let gesture:UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: "viewTapped:") 
gesture.numberOfTapsRequired = 1 
self.addGestureRecognizer(gesture) 

和實施選擇,您還可以添加手勢使用廈門國際銀行

2

有一個簡單的方法來實現這一目標進行查看。

- >轉到您的類的Interface Builder構建器>>選擇要添加動作的視圖>>然後將IDENTITY INSPECTOR中的自定義類從UIView更改爲'UIControl'。

- >現在你可以添加任何IBAction方法到這個視圖。

它的工作就像魅力。 快樂編碼。 希望它可以幫助

2

這將是更好,如果我們談論swift3或SWIFT 4

let gesture:UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(targetViewDidTapped)) 
gesture.numberOfTapsRequired = 1 
targetView?.isUserInteractionEnabled = true 
targetView?.addGestureRecognizer(gesture)