UITableView滚动到最后一个单元格只显示单元格的一半

问题描述:

我想滚动到包含自定义单元格的tableview的底部。UITableView滚动到最后一个单元格只显示单元格的一半

这里是代码我使用滚动:

NSIndexPath *lastMessage = [NSIndexPath indexPathForRow:[self.conversation.messages count]-1 inSection:0]; 
[self.messageTable scrollToRowAtIndexPath:lastMessage atScrollPosition:UITableViewScrollPositionTop animated:YES]; 

此滚动视图;然而只有最后一个单元格的最上面才能看到,而单元格的3/4仍处于折叠下方,我必须手动向下滚动。有想法该怎么解决这个吗?

+0

是您的整个表格视图可见吗?在你的桌面视图下有什么,例如一个标签栏? – aforaudrey 2012-08-10 17:57:28

+0

是的,整个表格视图都是可见的。一旦scrolltorowatindexpath方法完成,我只需要用我的手指完成滚动。在tableview下有一个视图,但框架不重叠 – Msencenb 2012-08-10 17:59:49

+0

是xib文件(或nub文件)中的tableview还是它在代码中创建的? – BigT 2012-08-10 18:45:37

原来是一个计时问题。当我从viewdidload(contentsize为0)调用该方法时,tableview还没有完全呈现。在viewDidAppear中调用此方法的效果非常出色。

看起来UITableView对您的单元格有多大感到困惑。将UITableView上的rowHeight属性设置为您的自定义单元格的高度。

+0

感谢您的提示..对于未来的人来说,定制单元格很重要,因为Sanjit说。我个人是这样做的 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath – Msencenb 2012-08-10 19:26:30