2014-12-06 95 views
0

我在scrollview中有我的標籤和文本框。當用戶在滾動視圖內滑動時關閉鍵盤

UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hideKeyboard)]; 
tapGesture.numberOfTouchesRequired = 1; 
tapGesture.cancelsTouchesInView = NO; 
[scrollBill addGestureRecognizer:tapGesture]; 

我可以通過點擊滾動視圖來關閉鍵盤。但是,當用戶在滾動視圖上輕掃或輕敲時,如何關閉鍵盤?

回答

1

解僱自來水,您可以使用UITapGestureRecognizer,因爲你已經有了。

要解除拖動,只需將UIScrollViewkeyboardDismissalMode設置爲UIScrollViewKeyboardDismissModeOnDrag即可。

示例代碼:

scrollBill.keyboardDismissMode = UIScrollViewKeyboardDismissModeOnDrag; 
+0

它工作正常 – user3823935 2014-12-06 06:41:49

+0

能時,有沒有UIScrollView中這樣做嗎? – Chucky 2017-01-25 16:12:01

1

使用這個方法hideKeyboard

[self.view endEditing:YES]; 

[scrollBill endEditing:YES]; 

它可以正常工作中。

1

在scrollBill init方法,設置代表:

scrollBill.delegate = self; 

實現滾動視圖的委託,滾動到hideKeyboard

- (void)scrollViewDidScroll:(UIScrollView *)scrollView 
{ 
    [self resignFirstResponder]; 
} 
相關問題