4

當點擊UITextView時,我希望它保持作爲第一響應者的工作,但我還需要觸發其他事件。在UITextView不是第一響應者之前,UITapGestureRecognizer可以正常工作,但在聚焦之後,不會再對其進行識別。如何識別文字視圖後成爲第一響應者?

UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(singleTapRecognized:)]; 
    singleTap.numberOfTapsRequired = 1; 
    [txtView addGestureRecognizer:singleTap]; 
    [singleTap release]; 

    -(IBAction)singleTapRecognized:(id)sender 
    { 
    //Does not enter here with a tap after txtView is first responder 
    } 
+0

你有沒有找到一個解決方案對此? –

回答

4

使用下面的代碼在ViewDidLoad()方法,並確保包括

[yourTextView setUserInteractionEnabled:YES] 

UITapGestureRecognizer *gestureRecognizer = [[UITapGestureRecognizer alloc]initWithTarget:self action:SEL(textViewTapped:)]; 

[gestureRecognizer setNumberOfTapsRequired:1]; 
[yourTextView addGestureRecognizer:gestureRecognizer];` 
+0

在我的代碼中創建手勢識別器是在viewdidload中完成的。我看不到我的代碼和這個代碼之間的區別。我也嘗試設置啓用的交互,它沒有任何區別。我認爲默認情況下,啓用UITextView的交互功能是正確的。 –

0

你應該實現你的手勢識別委託下面的方法:

-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer*)otherGestureRecognizer { 
    return YES; 
} 
相關問題