gpt4 book ai didi

ios - Swift 3 - 在 UITableViewCell 中重新加载 UICollectionView

转载 作者:行者123 更新时间:2023-11-28 09:29:28 26 4
gpt4 key购买 nike

我在 UITableViewCell 中有一个 UICollectionView。您可以在 here 引用图片

如果发生任何更新,我想重新加载 collectionView。

我做了一些研究,发现了这个:

  1. how to reload a collectionview that is inside a tableviewcell
  2. Reloading collection view inside a table view cell happens after all cells in table view have been loaded
  3. UICollectionView not updating inside UITableViewCell

我将 @IBOutlet weak var collectionView: UICollectionView!UITableViewCell 调用到 cellForRowAtUITableViewController

代码如下:

var refreshNow: Bool = false

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: Storyboard.allCardCell, for: indexPath) as! AllCardTableViewCell

if refreshNow {
cell.collectionView.reloadData()
refreshNow = false
}

cell.collectionView.collectionViewLayout.invalidateLayout()
return cell
}

如果用户在 UIAlertAction 上单击Ok:

let alert = UIAlertController(title: "Success", message: "Card successfully added", preferredStyle: .alert)
let action = UIAlertAction(title: "Ok", style: .default) { (action) in
self.refreshNow = true
self.tableView.reloadData()
}
alert.addAction(action)
self.present(alert, animated: true, completion: nil)

我放置 refreshNow 的原因是为了防止应用程序滞后和变慢。但是如果有任何变化仍然没有更新。

问题是 collectionView 没有刷新。但是当我调试时,它通过了 cell.collectionView.reloadData()

更新/更改仅在我重新启动应用程序时发生。我希望它是所谓的实时更新。

非常感谢任何帮助,非常感谢。

图片来源:How to use StoryBoard quick build a collectionView inside UITableViewCell

最佳答案

在更新结束时添加:

DispatchQueue.main.async() { () -> Void in
self.tableView.reloadData()
}

关于ios - Swift 3 - 在 UITableViewCell 中重新加载 UICollectionView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44426200/

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