用户在scrollview中滑动时关闭键盘

时间:2014-12-06 06:23:42

标签: ios objective-c iphone uiscrollview

我在滚动视图中有我的标签和文本字段。

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

我可以通过点击滚动视图来关闭键盘。但是,当用户在滚动视图上滑动或点按时,如何关闭键盘?

3 个答案:

答案 0 :(得分:1)

在hideKeyboard方法中使用它

[self.view endEditing:YES];

[scrollBill endEditing:YES];

它运作正常。

答案 1 :(得分:1)

在scrollBill init方法中,设置Delegate:

scrollBill.delegate = self;

实现scrollView委托,滚动到hideKeyboard

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

答案 2 :(得分:1)

对于点击解雇,您使用UITapGestureRecognizer,就像您已经拥有的那样。

要解除拖拽,只需将keyboardDismissalMode的{​​{1}}设置为UIScrollView

示例代码:

UIScrollViewKeyboardDismissModeOnDrag