indexPathsForVisibleRows在调整大小后返回总表大小而不是可见

时间:2011-08-17 10:22:38

标签: ios objective-c iphone uitableview cocoa-touch

我正在构建一个聊天应用程序,它一切顺利,直到我开始实现键盘显示上/下时UITableView的自动滚动。

即使每行/单元格的高度不变,indexPathsForVisibleRows生成的NSArray大小也会在滚动后增加。我在这里搜索,发现有一个错误。根据建议,我添加了以下内容:

[table visibleCells];

在使用indexPathsForVisibleRows之前:

scrollPosition = (NSIndexPath*)[[table indexPathsForVisibleRows] objectAtIndex:0];

在:

- (void) scrollViewDidEndDecelerating:(UIScrollView *)scrollView;

这解决了隐藏键盘并且表格已经完整(未调整大小)的问题。

当用户点击textField时,键盘会显示,UITableView的高度会减少键盘高度。

此时滚动发生时,可以使用

[table visibleCells];

不起作用,indexPathsForVisibleRows NSArray的结果大小变为表格的总行数,而不仅仅是可见的行数。

这是另一个Bug还是我做错了什么?

0 个答案:

没有答案