我正在构建一个聊天应用程序,它一切顺利,直到我开始实现键盘显示上/下时UITableView
的自动滚动。
即使每行/单元格的高度不变,indexPathsForVisibleRows
生成的NSArray
大小也会在滚动后增加。我在这里搜索,发现有一个错误。根据建议,我添加了以下内容:
[table visibleCells];
在使用indexPathsForVisibleRows
之前:
scrollPosition = (NSIndexPath*)[[table indexPathsForVisibleRows] objectAtIndex:0];
在:
- (void) scrollViewDidEndDecelerating:(UIScrollView *)scrollView;
这解决了隐藏键盘并且表格已经完整(未调整大小)的问题。
当用户点击textField时,键盘会显示,UITableView
的高度会减少键盘高度。
此时滚动发生时,可以使用
[table visibleCells];
不起作用,indexPathsForVisibleRows
NSArray
的结果大小变为表格的总行数,而不仅仅是可见的行数。
这是另一个Bug还是我做错了什么?