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

问题描述 投票:4回答:3

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

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

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

ios iphone uikeyboard
3个回答
9
投票

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


1
投票

你需要一个像UITextView这样的元素,然后检测滚动(例如,使用任何UIScrollView委托方法)。滚动后,在文本视图上调用becomeFirstResponder


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;

}

希望这会成功,没有测试过......

© www.soinside.com 2019 - 2024. All rights reserved.