我的UIViewController状态恢复在我的应用程序中运行良好,我的所有UITableView实例都有一个restoreIdentifier集。一切都按预期工作,我甚至可以在State Restoration数据文件中看到我的UITableViews的contentOffset。
当我重新启动我的应用程序时,我的所有表格视图都会重置其滚动位置。我是否必须实现UIDataSourceModelAssociation协议才能获得此功能?我的数据源是相当静态的,所以这样做会相当多余。
答案 0 :(得分:0)
是的,UITableView
在UIDataSourceModelAssociation
期间使用encodeRestorableState
中的方法在屏幕顶部的单元格中获取项目的标识符,并将其写入键{{1} },然后在还原时要求该项目的索引路径并滚动到该项目。它还使用它来还原版本状态和选定的行。
kTopApplicationTopVisibleModelIdentifier
由Hopper反编译