要向键盘添加平移行为,我使用的是DAKeyboardControl。它可以很好地(修改后)用于关闭键盘的平移行为。
如果用户尝试在UITableView
末尾向下滚动(手指向上平移),如何使键盘出现。更具体地说,我正在寻找类似于Facebook Messages应用程序的行为,如果向上滚动键盘出现,则进行平移,并滚动表格。
编辑:似乎我不清楚我想要什么。我希望将键盘与scrollview(UITableView
)一起移动。在下图中,我正在将键盘与表格一起平移。该表已经滚动到它的底部,如果我尝试向下滚动键盘开始出现。与此同时,我的手指在桌子的中间。
这种效果可以通过将scrollview的keyboardDismissMode
设置为UIScrollViewKeyboardDismissModeInteractive
然后在scrollViewDidScroll:
中调用[textField becomeFirstResponder];
来实现。因为您处于滚动的中间,键盘将尊重keyboardDismissMode
属性并以交互方式显示。放下DAKeyboardControl
;它已经过时了。
你需要一个像UITextView
这样的元素,然后检测滚动(例如,使用任何UIScrollView
委托方法)。滚动后,在文本视图上调用becomeFirstResponder
。
在.h文件中添加...
@property (nonatomic, assign) CGFloat lastContentOffset
并在.m文件中添加...
- (void)scrollViewDidScroll:(UIScrollView *)sender
{
if (self.lastContentOffset > scrollView.contentOffset.y)
{
[textField becomeFirstResponder];
}
else if (self.lastContentOffset < scrollView.contentOffset.y)
{
[textField resignFirstResponder];
}
self.lastContentOffset = scrollView.contentOffset.y;
}
希望这会成功,没有测试过......