滚动UITableView时拉起键盘并与tableView一起滚动

时间:2014-04-11 11:15:22

标签: ios iphone uikeyboard

要向键盘添加平移行为,我使用的是DAKeyboardControl。它可以很好地(修改后)用于关闭键盘的平移行为。

如果用户尝试在UITableView末尾向下滚动(手指向上平移),如何使键盘出现。更具体地说,我正在寻找类似于Facebook Messages应用程序的行为,如果您向上滚动键盘,则会进行平移,并使用滚动表。

编辑:我似乎不清楚自己想要什么。我希望使用scrollview(UITableView)将键盘移动到。在下图中,我使用表沿着平移 键盘。该表已经滚动到它的底部,如果我尝试向下滚动,键盘就会开始出现。与此同时,我的手指在桌子的中间。

enter image description here

3 个答案:

答案 0 :(得分:9)

可以通过将滚动视图keyboardDismissMode设置为UIScrollViewKeyboardDismissModeInteractive,然后设置scrollViewDidScroll:调用[textField becomeFirstResponder];来实现此效果。因为您处于滚动的中间,键盘将尊重keyboardDismissMode属性并以交互方式显示。放下DAKeyboardControl;它已经过时了。

答案 1 :(得分:1)

您需要UITextView之类的元素,然后检测滚动(例如,使用任何UIScrollView委托方法)。滚动后,在文本视图中调用becomeFirstResponder

答案 2 :(得分:0)

在.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;

}

希望这可以解决问题,避免测试它......