使用自定义键盘时使 UITableView 滚动到正确的位置

Posted

技术标签:

【中文标题】使用自定义键盘时使 UITableView 滚动到正确的位置【英文标题】:Making UITableView scroll to right location when using custom keyboard 【发布时间】:2010-11-06 02:43:27 【问题描述】:

我有一个 UITableView,我需要使用自定义键盘,由于某些原因,我不能将它用作 inputView。所以我的键盘视图显示为子视图。它的高度是 260。我希望表格视图滚动,以便所选单元格的 y 位置始终在 0 到 260 之间。这可能吗?这是我目前正在尝试的......(这是在键盘类中)

-(void)showForCellAtIndexPath:(NSIndexPath*)indexPath
[UIView beginAnimations:nil context:NULL];
self.view.frame = CGRectMake(0.0,220.0,320.0,260.0);
delegate.tableView.contentInset = UIEdgeInsetsMake(0.0,0.0,260.0,0.0);
delegate.tableView.scrollIndicatorInsets = delegate.tableView.contentInset;
delegate.view.frame = CGRectMake(0.0,-210.0, delegate.view.frame.size.width,delegate.view.frame.size.height);
[UIView commitAnimations];
[delegate.tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionBottom animated:YES];

我很想得到你的帮助。谢谢!

【问题讨论】:

【参考方案1】:

好吧...这个解决方案有点像 hack,但是如果有人搜索并找到了这个,我不希望他们通过我所做的一切来解决这个问题。

我所做的是将分组表视图的第一部分的标题高度修改为大(300px 对我来说足够大)。然后我更改了 y 插图(在我的情况下为 -255),这样一切看起来都很正常。当用户选择一个部分时,我立即消除插入并滚动到底部...然后,当用户点击完成时,我重新添加插入,这样用户就不会必须经过额外的滚动。

我希望这对遇到同样问题的人有所帮助!

【讨论】:

以上是关于使用自定义键盘时使 UITableView 滚动到正确的位置的主要内容,如果未能解决你的问题,请参考以下文章

如何在键盘上方滚动自定义 UITextField 单元格

如何在 UITableView 中添加背景视频并在滚动 UITableViewCells 时使其固定?

UITableView 的自定义滚动条

uitableview 自定义单元格在向下滚动 uitableview 时丢失其内容

具有文本字段滚动问题的 iOS 表格视图

UITableView 自定义 Cells,滚动和内存管理