使用自定义键盘时,使UITableView滚动到正确的位置
问题描述:
我有一个UITableView,我需要使用它的自定义键盘,并且出于几个原因,我不能将它用作inputView。所以我将我的键盘视图显示为子视图。它的高度是260.我希望表格视图滚动,以便选中的单元总是有一个介于0和260之间的y位置。这可能吗?以下是我目前正在...(这是在键盘类)使用自定义键盘时,使UITableView滚动到正确的位置
-(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];
}
我会爱你的帮助。谢谢!
答
好吧......这个解决方案有点破解,但是如果有人搜索并找到它,我不想让他们穿过我想要弄明白的地狱。
我所做的是将分组表格视图的第一部分的标题高度修改得很大(300px对我来说足够大)。然后我改变了y-inset(在我的情况下为-255),这样一切都看起来很正常。当用户选择一个部分时,我立即消除插入并滚动到底部......然后,当用户点击完成时,我重新添加插入,以便用户不必额外通过滚动。
我希望这可以帮助任何有这个相同问题的人!