ios - 如何在 iPhone 上滚动到 UITableView 的底部而不看到滚动
问题描述
我有一个UITableView
填充了可变高度的单元格。当视图被推入视图时,我希望表格滚动到底部。
我目前有以下功能:
[self.table scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionBottom animated:NO];
我正在使用自动布局、动态表格单元格和UITableViewAutomaticDimension
行高。我设置estimatedRowHeight = 100
上面的代码工作正常,viewDidLoad
但是这有一个不幸的副作用,即当视图首次出现时显示表格的顶部然后跳转到底部。如果表格视图可以在它出现之前滚动到底部,我会更喜欢它。
请注意:我正在从核心数据加载数据。
任何指导都将不胜感激,即使这只是告诉我我所拥有的一切都是可能的。
解决方案
从理论上讲,调用的顺序是正确的:viewDidLoad
应该在视图渲染之前调用,所以我唯一想到的可能scrollToRowAtIndexPath:atScrollPosition:animated:
是异步的。也许你可以做一些事情UIScrollViewDelegate
(记住,UITableView
继承自UIScrollView
) - https://developer.apple.com/documentation/uikit/uiscrollviewdelegate?language=objc
也许你可以做一些事情,比如隐藏视图onLoad
并显示它scrollViewDidScroll:
。我没有时间测试和粘贴一个片段,但是......也许它会有所帮助:) 祝你好运!
推荐阅读
- browser - FAIL 错误试图做编剧动作,但没有打开页面
- javascript - setTimeout 和 Closure 有什么问题?
- android - ExoPlayer - 流式传输 4k 视频,它使用动画 webp 文件丢帧
- javascript - Express,让所有路由都以/api开头
- c++ - 返回 c 类型数组的迭代器?
- excel - 尝试从 MS Project 文件中运行 Excel 文件中的宏
- python - 为什么重新定义生成器中使用的变量会产生奇怪的结果?
- android - 取消通过 google play 计费处理进行的购买后,购买查询在循环中显示购买状态为 1
- c++ - 如何在 TLS 1.2 握手的 ClientHello 消息中添加客户端扩展
- annotations - 在同一页面中重复注释 id,任何人都可以澄清如何分隔行