2014-06-26 41 views
0

卡住了幾個小時,仍然無法找到問題。我不能添加UITapGesture兩個differentViewsEXC_BAD_ACCESS當使用UITapGestureRecognizer

@IBOutlet var topView: UIView 
@IBOutlet var bottomView: UIView 

在冠捷和bottomView userInteractionEnabled在故事板

被啓用,這裏是我在ViewController.swift代碼

override func viewDidLoad() { 
    super.viewDidLoad() 

    var tap = UITapGestureRecognizer(target: self, action: "tapTheView:") 
    self.topView.addGestureRecognizer(tap) 
    self.bottomView.addGestureRecognizer(tap) 
} 

這是UITapGestureRecognizer

方法
func tapTheView(recognizer: UITapGestureRecognizer) { 

    println("Hi") 

} 

但是當我點擊冠捷什麼都沒有發生,當我點擊了bottomView我的應用程序崩潰,並顯示線程1:EXC_BAC_ACESS此行

class AppDelegate: UIResponder, UIApplicationDelegate { 

我使用的Xcode 6 Beta 2中

當我的XCode 5.1.1試了一下使用上面的相同的代碼(但與Objective-C)它的工作原理。非常感謝你,併爲我的英語不好而感到遺憾

+0

插座是否正確連接?嘗試「if let view = self.topView {view.addGestureRecognizer(tap); println(」ok「);} else {println(」no!「);}」等等 – Grimxn

+0

嗨,謝謝您的回覆。 我檢查了很多次,是的topView和bottomView連接到故事板中的場景。 我試過你的代碼,但仍然有一些問題。 – yumugee

回答

2

這個工作不會在Xcode beta 2中崩潰。有一件事是你必須爲每個視圖Check this link添加單獨的手勢。即

var tap = UITapGestureRecognizer(target: self, action: "tapTheView:") 
self.topView.addGestureRecognizer(tap) 

var tap2 = UITapGestureRecognizer(target: self, action: "tapTheView:") 
self.bottomView.addGestureRecognizer(tap2) 
+0

嗨,非常感謝。我不知道我是否不能在兩個不同視圖中添加1個UITapGestureRecognizer實例。它適用於如果我爲每個視圖創建兩個不同的UITapGestureRecognizer實例 – yumugee