[英]Custom UIView addTarget?
我正在創建一個自定義UIView
。 我想知道如何在此UIView
上復制UIButton
行為。
我希望能夠像UIButton
一樣調用addTarget
。
我知道我可以UIControl
並調用
self.sendActionsForControlEvents(UIControlEvents.TouchUpInside);
但我想在UIView
上進行操作,因為我是在XIB文件上進行設計的。
有一個簡單的方法可以實現此目的。
- 轉到您班級的“界面”構建器
- 選擇您要添加操作的視圖
- 打開IDENTITY INSPECTOR,將類從UIView更改為“ UIControl”。
現在,您可以向該視圖添加任何IBAction方法。
它的運作就像魅力。 快樂的編碼。 希望對您有所幫助
更新資料
它可以在xCode 10.1和Swift 4+中運行
如果我們談論swift3或swift 4會更好
let gesture:UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(targetViewDidTapped))
gesture.numberOfTapsRequired = 1
targetView?.isUserInteractionEnabled = true
targetView?.addGestureRecognizer(gesture)
您可以使用UITapGestureRecognizer
,通過編程將其添加到視圖中,如下所示
self.userInteractionEnabled = true
let gesture:UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(viewTapped))
gesture.numberOfTapsRequired = 1
self.addGestureRecognizer(gesture)
並實現選擇器,還可以添加手勢以使用xib或Interface Builder文件進行查看。
在Swift 4中,有一個新的init UITapGestureRecognizer語法:
let gesture:UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: Selector("viewTapped:"))
// or declare like this
let gesture:UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(YourClass.viewTapped(gesture:)))
yourView.addGestureRecognizer(gesture)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.