2017-01-05 37 views
0

我有一個谷歌地圖,我希望它能識別標記上的長按手勢。對於平均時間,我只是想映射回應長按手勢。我認爲我已經按照正確實施的步驟進行了實施,但是似乎沒有得到長時間按下的響應,並且不知道爲什麼 - 可能是因爲我在模擬器上進行測試以至於無法識別點擊是否長按?無論如何,這裏是我在下面使用的方法,如果有人可以看到我有沒有錯過任何東西,請告訴我。從對象庫實現長按手勢沒有響應 - 迅速3

1.)將長按手勢識別器從對象庫拖到主故事板的我的地圖視圖中。

2)此把gestureRecognizers - >地圖視圖爲我的參考出口連接

3.)設定的分鐘持續時間以0.5秒和啓用觸摸和抽頭識別爲1。

4 。),其中包含了我的MapView的視圖 - 控制鍵入:

 @IBAction func handleLongtap(recognizer: UILongPressGestureRecognizer) { 
    print("PRESSED") 
} 

5)然後回到主故事板做調速拖動長按手勢識別到視圖控制器和選擇「handleLongtap:」這把「handleLongTap - - > longPressGesture「我nto我的視圖控制器'收到操作'

儘管沒有錯誤 - 我沒有得到「按下」在我的終端,當我做了長時間的模擬器點擊。任何想法出了什麼問題?

回答

0

你可以嘗試在代碼中加入了手勢識別:

let longPress = UILongPressGestureRecognizer() 
longPress.addTarget(self, action: ViewController.handleTap) 
yourPin.addGestureRecognizer(longPress) 

func handleTap() { 
    print("Tapped") 
} 

而就調整它,因爲你需要。

+0

我確實是這樣做的,最初把第一部分放在viewDidLoad中,然後使用函數,但它也沒有成功,因爲什麼都沒有發生,我不知道爲什麼,因爲再次沒有錯誤。 –

+0

我只是再次嘗試再次完全上面的代碼只是再次檢查(而不是你的PIN我把mapView所以在地圖上的任何地方respondes)但得到錯誤ViewController沒有實例成員'handleTap'我將如何定義它? –

+0

使用View Controller的名稱在ViewController.handleTap中更改ViewController。 – bkwebhero