2013-06-25 126 views
1

我的表格視圖上方有一個文本字段。每當文本字段被聚焦時,就會註冊一個滑動手勢。當滑動手勢被識別時,鍵盤被解除。該代碼適用於所有手勢,除了向上滑動手勢不起作用。這是我的代碼iOS:向上滑動手勢識別器不起作用

swipe = [[UISwipeGestureRecognizer alloc] 
     initWithTarget:self action:@selector(dismissKeyboard)]; 

[swipe setDirection:UISwipeGestureRecognizerDirectionUp]; 

有人請讓我知道是否有任何問題?

+0

你能發表你想要做什麼的截圖嗎? –

+0

您是否記得使用addGestureRecognizer將其添加到您希望它監聽的UIView? – Idles

+0

@交易 - 是的。正如我已經告訴你的,只有向上的手勢不起作用。我已經測試過它。 – rahul

回答

0

如果所有其他手勢都起作用,那就意味着沒有邏輯問題。 檢查拼寫錯誤。 並重新應用滑動手勢,並檢查一切(網點等)。

0

我不知道這種情況,但我知道,當我在自定義容器視圖上做手勢,然後用自己的手勢添加子視圖時,我不得不遍歷孩子的手勢,告訴他們要求我的手勢失敗(即我的優先)。我這樣做有成功滾動觀點:

for (UIGestureRecognizer *gesture in self.scrollView.gestureRecognizers) 
{ 
    [gesture requireGestureRecognizerToFail:myGesture]; 
} 

唯一的時候,我已經受夠了那些觀點類似的UITextView其刪除,當你進出的編輯模式中添加手勢的問題,所以這是一個麻煩。

此外,雖然我用標準手勢嘗試過,但我後來轉移到自定義手勢,我已儘可能快地編程失敗(檢查開始位置,如果它不支持方向,我會立即失敗手勢需要,而不是等待一堆touchesMoved得出相同的結論)。如果你不想幹涉子視圖的手勢,儘量讓你失敗。也許這不是一個滑動手勢的問題,但如果您發現您的手勢最終會顯着改變子視圖的行爲,那麼這是一個可能的考慮因素。

但是我懷疑你可能只需要弄清楚哪些視圖的手勢會干擾你的手勢,並讓他們需要先失敗。

0

你有沒有機會碰到一個scrollview的手勢?如果其他手勢正常工作似乎不太可能,但至少應該嘗試使用URecognizerDelegate協議中的gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:方法。

+0

你是對的。滾動手勢正在吃掉滑動的手勢。謝謝! – rahul