【发布时间】:2014-10-12 17:10:07
【问题描述】:
我有一个带有嵌套滚动和表格视图的单一视图和这个分层树:
(该表加载了一些从 example 获取的 Huckleberry Finn 行。)
在 viewWillAppear 上,我以编程方式在最后一行滚动表格视图
-(void)viewWillAppear:(BOOL)animated
{
[self.tableView reloadData];
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:[self.tableView numberOfRowsInSection:0]-1 inSection:0];
[self.tableView scrollToRowAtIndexPath:indexPath
atScrollPosition:UITableViewScrollPositionBottom
animated:YES];
}
和一切都按预期工作,在两个方向上。如您所见,文本被正确截断。
我已将我的项目上传到 Github,以便您可以看到它正在运行。下载here.
现在,如果你在 cellForRowAtIndexPath 方法中添加这一行:
cell.textLabel.numberOfLines=0;
单元格会自动调整大小以嵌入并显示整个文本标签:
但是,这是我亲爱的朋友们的问题,正如您所见,表格没有滚动到最后一行,而是滚动到上方 5-6 行。我不明白为什么。
如果 NumberOfLines 是 2,3 等等,也会发生同样的事情。只有值 1 才能使 TableView 下移到最后一行。
(仅供参考,我不使用[self.tableView setContentOffset:CGPointMake(0, CGFLOAT_MAX)]; 来向下滚动表格,因为它会引发异常)
iOS8 可能有问题?
【问题讨论】:
标签: objective-c uitableview ios8 autolayout xcode6