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

时间:2010-11-06 02:43:28

标签: iphone ios

我有一个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 个答案:

答案 0 :(得分:1)

好吧......这个解决方案有点像黑客,但是如果有人搜索并发现了这个问题,我不希望他们通过我所做的去解决这个问题。

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

我希望这可以帮助任何有同样问题的人!