2012-11-30 67 views
3

在iOS5/5.1中測試我的應用時,我遇到了一些問題。從按鈕按下我的IBAction只是沒有得到調用。我在某處讀到這可能是因爲手勢識別器。我有這個代碼,當用戶點擊屏幕上的任何地方時會關閉鍵盤,我認爲這可能是罪魁禍首。我在另一個屏幕上也有類似的代碼,但我甚至無法看到它是否有類似的錯誤。Xcode 4.5.1 iOS5/5.1 IBAction無法正常工作。在iOS6中很好

UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)]; 
[tapRecognizer setDelegate:(id)self]; 
[tapRecognizer setNumberOfTapsRequired:1]; 
[self.view addGestureRecognizer:tapRecognizer]; 

這裏是函數。

- (void)handleSingleTap:(UITapGestureRecognizer *)recognizer 
{ 
    [self.searchBar resignFirstResponder]; 
} 

如何防止這種毛刺發生,而不會丟失用水龍頭關閉鍵盤的能力?

Regards, Mike。

+0

你是否正在重複使用現有的識別器,因爲有錯誤? –

+0

不,我不這麼認爲。我明確地爲此功能做了明確的規定,並沒有使用任何其他手勢識別器。 – Mackey18

回答

4

手勢識別器是否識別輕擊並因此未將其傳送到按鈕,該按鈕是手勢識別器所連接的視圖的子視圖?一旦調用handleSingleTap,您可以嘗試刪除手勢識別器。

+0

不錯的修復。我用'[self.view removeGestureRecognizer:recognitionizer];'一旦完成了所有事情,我只在didBeginEditing委託方法中創建手勢。 – Mackey18

+0

非常感謝您的答覆,並祝賀您克服了這些爆炸電腦事件帶給我們的另一個障礙! – emrys57

+0

真棒..好趕上....爲我工作以及 –