簡體   English   中英

自定義UIView addTarget?

[英]Custom UIView addTarget?

我正在創建一個自定義UIView 我想知道如何在此UIView上復制UIButton行為。

我希望能夠像UIButton一樣調用addTarget

我知道我可以UIControl並調用

self.sendActionsForControlEvents(UIControlEvents.TouchUpInside);

但我想在UIView上進行操作,因為我是在XIB文件上進行設計的。

有一個簡單的方法可以實現此目的。

  1. 轉到您班級的“界面”構建器
  2. 選擇您要添加操作的視圖
  3. 打開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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM