当UITableView滚动时,键盘消失

时间:2013-05-11 15:16:22

标签: ios objective-c cocoa-touch

我在Table View的顶部有一个UITextField,在选择了文本字段之后我希望键盘消失。我知道要拨打[[self view] endEditing:YES];,但我不知道如何检查滚动条。一个很好的例子是IMessage,当键盘在视图中时你可以向上滚动以折叠它,我希望我的表视图反向工作。

3 个答案:

答案 0 :(得分:4)

UITableViewUIScrollView的子类。通过成为表委托(实现<UITableViewDelegate>),您也是滚动视图委托(<UIScrollViewDelegate>),因此您可以实现:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView

然后,只要滚动表格视图,您就会收到通知。然后,您还可以使用scrollView.contentOffset来检查表格滚动到的位置(滚动的方向)。

答案 1 :(得分:2)

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

如果您需要其他行为,请尝试UIScrollViewDelegate中的其他方法。

答案 2 :(得分:0)

在适当的时候致电resignFirstResponder

您的单元格中似乎使用了UITextField。使用UITextFieldDelegate协议了解UITextField何时结束编辑:

-(void)textFieldDidEndEditing:(UITextField*)textField
{
    [textField resignFirstResponder];
}