我遇到了UITableView
问题,特别是scrollToRowAtIndexPath
。这里我们分别设置一个section-header-height和row-height。稍后,当显示键盘时,我调整了tableview的大小并使用scrollToRowAtIndexPath
滚动到当前涉及的单元格。问题是,在尝试3种不同类型的定位之后,只有UITableViewScrollPositionTop
被正确定位,而UITableViewScrollPositionMiddle
和UITableViewScrollPositionBottom
被错置。我这里还有截图:iOS UITableView scrollToRowAtIndexPath行为不正确
象中所示的图像中,顶部定位把排在顶部,而中部和底部定位在放大约1行了中间行的(对于)。这只发生在这个视图(它在其他视图上工作正常)。
tableview有固定的边距和灵活的宽度/高度(由IB中的所有标记表示为鲜红色)。
我试着检查tableview的原点,它表示0,0。当我将origin.y移动几个像素时,tableview会向下移动这个量,所以这不是由tableview原点造成的。
我已经使用这个代码来获得调整前的indexPath(注意,这正常工作的其他意见):
NSIndexPath *indexPath = [tblView indexPathForRowAtPoint:self.frame.origin];
//resize the tableview
[tblView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionMiddle animated:YES];
为什么是这个位置换档发生的任何想法?
在此先感谢。