首页 > 解决方案 > 如何在 iPhone 上滚动到 UITableView 的底部而不看到滚动

问题描述

我有一个UITableView填充了可变高度的单元格。当视图被推入视图时,我希望表格滚动到底部。

我目前有以下功能:

[self.table scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionBottom animated:NO];

我正在使用自动布局、动态表格单元格和UITableViewAutomaticDimension行高。我设置estimatedRowHeight = 100

上面的代码工作正常,viewDidLoad但是这有一个不幸的副作用,即当视图首次出现时显示表格的顶部然后跳转到底部。如果表格视图可以在它出现之前滚动到底部,我会更喜欢它。

请注意:我正在从核心数据加载数据。

任何指导都将不胜感激,即使这只是告诉我我所拥有的一切都是可能的。

标签: iosobjective-cuitableviewios-autolayoutuitableviewautomaticdimension

解决方案


从理论上讲,调用的顺序是正确的:viewDidLoad应该在视图渲染之前调用,所以我唯一想到的可能scrollToRowAtIndexPath:atScrollPosition:animated:是异步的。也许你可以做一些事情UIScrollViewDelegate(记住,UITableView继承自UIScrollView) - https://developer.apple.com/documentation/uikit/uiscrollviewdelegate?language=objc

也许你可以做一些事情,比如隐藏视图onLoad并显示它scrollViewDidScroll:。我没有时间测试和粘贴一个片段,但是......也许它会有所帮助:) 祝你好运!


推荐阅读