ios – 在tvOS中重新加载数据后,Collection视图的最后一个聚焦索引路径丢失了

ios – 在tvOS中重新加载数据后,Collection视图的最后一个聚焦索引路径丢失了,第1张

概述在我的tvOS应用程序中,我有一个集合视图,我将其remembersLastFocusedIndexPath设置为true.由于这还不足以得到这种行为,我还在我的UIViewController中重写了一个方法,如下所示: override weak var preferredFocusedView: UIView? { return collectionView} 这工作正常,直到我开 在我的tvOS应用程序中,我有一个集合视图,我将其remembersLastFocusedindexPath设置为true.由于这还不足以得到这种行为,我还在我的UIVIEwController中重写了一个方法,如下所示:

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视图的最后一个聚焦索引路径丢失了所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:http://outofmemory.cn/web/1048430.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-25
下一篇2022-05-25

发表评论

登录后才能评论

评论列表(0条)

    保存