overrIDe weak var preferredFocusedVIEw: UIVIEw? { return collectionVIEw}
这工作正常,直到我开始重新加载集合视图出于某些原因.如果作为集合视图可见,我调用collectionVIEw.reloadData(),它确实有效.
如果我在集合视图不可见时进行重新加载,例如,当我在点击其中一个项目后进入详细视图时,这不起作用.当我回到网格时,聚焦的索引路径不是我点击的路径.
作为一种解决方法,我正在管理这种非理想情况:
>由于来自我的后端的新数据触发了重新加载,我只在集合视图可见时调用collectionVIEw.reloadData()(因为我知道最后一个聚焦索引在这里没有改变).
>我在vIEwDIDAppear(动画:Bool)中调用collectionVIEw.reloadData()以在用户返回时获得最新内容.
我该怎么做呢?提前致谢.
解决方法 最近我也遇到了这个问题,我的情况对你来说几乎是一样的.我还在vIEwDIDLoad和vIEwWillAppear中调用了collectionVIEw.reloadData()
然后
我改变了
collectionVIEw.reloadData()
至
collectionVIEw.reloadItemsAtIndexPaths(collectionVIEw.indexPathsForVisibleItems())
它大部分时间都适用于我,仍然有大约<5%的机会搞乱最后的焦点指数
总结以上是内存溢出为你收集整理的ios – 在tvOS中重新加载数据后,Collection视图的最后一个聚焦索引路径丢失了全部内容,希望文章能够帮你解决ios – 在tvOS中重新加载数据后,Collection视图的最后一个聚焦索引路径丢失了所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)