UITableView 滚动到最后一个单元格只显示一半的单元格
Posted
技术标签:
【中文标题】UITableView 滚动到最后一个单元格只显示一半的单元格【英文标题】:UITableView scrolling to last cell only displays half of the cell 【发布时间】:2012-08-10 17:47:22 【问题描述】:我想滚动到包含自定义单元格的表格视图的底部。
这是我用来滚动的代码:
NSIndexPath *lastMessage = [NSIndexPath indexPathForRow:[self.conversation.messages count]-1 inSection:0];
[self.messageTable scrollToRowAtIndexPath:lastMessage atScrollPosition:UITableViewScrollPositionTop animated:YES];
这会滚动视图;但是,只有最后一个单元格的最顶部可见,大约 3/4 的单元格仍低于我必须手动向下滚动到的折叠。有关如何解决此问题的任何想法?
【问题讨论】:
您的整个表格视图是否可见?您的桌面视图下是否有任何内容,例如标签栏? 是的,整个表格视图都是可见的。一旦 scrolltorowatindexpath 方法完成,我只需要用手指完成一直向下滚动。 tableview下有view,但是frame不重叠 这个 tableview 是在你的 xib 文件(或 nub 文件)中还是在代码中创建的? 【参考方案1】:原来是时间问题。当我从 viewdidload(contentsize 为 0)调用该方法时,tableview 尚未完全呈现。不过,在 viewDidAppear 中调用此方法效果很好。
【讨论】:
【参考方案2】:UITableView 似乎对您的单元格有多大感到困惑。将 UITableView 上的 rowHeight
属性设置为自定义单元格的高度。
【讨论】:
感谢您的提示。正如 Sanjit 所说,对于未来的人们来说,自定义单元格执行此操作很重要。我个人是通过 -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath以上是关于UITableView 滚动到最后一个单元格只显示一半的单元格的主要内容,如果未能解决你的问题,请参考以下文章
如何滚动到 UITableView 或 UICollectionView 中的最后一个单元格之外
如何实现(几乎)全视图 uitableview 可以滚动过去最后一个单元格并在 iOS 中显示更多元素