2015-12-01 68 views
0

我添加了一個UITapGestureRecognizer到一個視圖,但是當我點擊它時該方法沒有被調用。選擇器不被稱爲2 tapgesture

func addTapGestuere(uiview: UIView) { 

     let tapGestureRecognizer:UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: Selector("cardTapped:")) 
     uiview.addGestureRecognizer(tapGestureRecognizer) 
    } 

我在viewDidload

self.addTapGestuere(self.Card1View) 
self.addTapGestuere(self.Card2View) 

運行此我把一個破發點上的方法

cardTapped(recognizer: UITapGestureRecognizer) { 
} 

但是當我點擊圖片調用的方法心不是。我爲所有視圖啓用了用戶交互。

回答

0

要小心以下幾點:

  1. UIView您要添加UITapGestureRecognizeruserInteractionEnabled設置爲true:

    self.view.userInteractionEnabled = true

  2. UIView你想獲得點擊以沒有其他視圖覆蓋它。使用視圖調試器來確認這一點。

  3. 最重要的是,請確保您將UITapGestureRecognizer添加到正確的UIView。將它添加到self.view會將其添加到UIViewController的視圖中。

補充說明:您可以使用Inetrface Builder本身,然後連接IBAction爲同一添加UITapGestureRecognizer。會減少簡單錯誤的概率。