gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 05:43:22 24 4
gpt4 key购买 nike

在我的 tvOS 应用程序中,我有一个 Collection View ,我已将其 remembersLastFocusedIndexPath 设置为 true。由于这不足以实现此行为,我还在 UIViewController 中覆盖了一个方法,如下所示:

override weak var preferredFocusedView: UIView? {
return collectionView
}

在我出于某些原因开始重新加载 Collection View 之前,这一切都很好。如果 Collection View 可见,我调用 collectionView.reloadData(),它确实有效。

但是,如果我在 Collection View 不可见时重新加载,例如,当我在点击其中一项后处于详细 View 中时,这是行不通的。当我回到网格时,聚焦的索引路径不是我点击的路径。

作为一种解决方法,我正在处理这种不理想的情况:

  1. 由于重新加载是由来 self 的后端的新数据触发的,所以我只在 Collection View 可见时调用 collectionView.reloadData()(因为我知道最后一个聚焦的索引不会改变在这里)。
  2. 我在 viewDidAppear(animated: Bool) 中调用 collectionView.reloadData() 以在用户返回时获得最新内容。

我怎样才能正确地做到这一点?提前致谢。

最佳答案

最近我也遇到了这个问题,我的情况和你差不多。

我还在 viewDidLoadviewWillAppear 中调用了 collectionView.reloadData()

然后

我从

collectionView.reloadData()

collectionView.reloadItemsAtIndexPaths(collectionView.indexPathsForVisibleItems())

它大部分时间对我有用,仍然有大约 <5% 的机会弄乱最后的焦点索引

关于ios - 在 tvOS 中重新加载数据后, Collection View 的最后一个聚焦索引路径丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35082981/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com