【发布时间】:2024-01-14 05:14:01
【问题描述】:
我在Home View Controller中添加了一个表格视图。
在表格视图中,我添加了集合视图。
首次运行应用程序时集合视图内的图像。然后,转到其他链接并返回主页,但集合视图中的图像不会立即显示,直到第二次滚动。
多次拉视图后,出现图像。
在“Collection.swift”中,
在ViewDidLoad()中,
DispatchQueue.main.async {
self.tableView.reloadData()
}
我还添加了 viewWillLayoutSubviews()
override func viewWillLayoutSubviews() {
debugPrint("viewWillLayoutSubviews")
DispatchQueue.main.async(execute: {() -> Void in
self.tableView.reloadData()
self.tableView.layoutIfNeeded()
})
}
我还重新加载收藏视图
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let mainThemeList = mainHomeThemeTable[(indexPath as NSIndexPath).row]
self.prefs.set(mainThemeList.main_associated_url, forKey: "associated_home_url")
let cell = tableView.dequeueReusableCell(withIdentifier: "homecell") as! HomeCategoryRowCell
DispatchQueue.main.async {
cell.categoryTitle.text = mainThemeList.main_name
cell.mainAssociatedURL.text = mainThemeList.main_associated_url
cell.categoryTitle.font = UIFont.boldSystemFont(ofSize: 17.0)
cell.collectionView.reloadData()
}
return cell
}
在 表格视图单元格 (CollectionCell.swift) 文件中,
override func awakeFromNib() {
self.collectionView.reloadData()
self.collectionView.setNeedsLayout()
self.collectionView.layoutIfNeeded() }
override func layoutSubviews() {
super.layoutSubviews()
self.collectionView.reloadData()
self.collectionView.setNeedsLayout()
self.collectionView.layoutIfNeeded()
}
如何在 swift 3 中立即加载和显示?谁能帮帮我?
【问题讨论】:
-
collectionView.reloadData() 在表格视图的自定义单元格中很容易重新加载,如果没有加载表格视图重新加载然后留下评论我会给你另一个建议和代码进入视图 DidAppear()
-
兄弟@BHAVIKPANCHAL,我在viewDidAppear 中添加了tableView.reloadData()。现在,当应用程序运行时,图像会立即显示。但是,当我转到其他页面并返回主页时,图像不显示,需要拉刷新。
-
兄弟@BHAVIKPANCHAL,我更新了我的问题。兄弟你能看一下吗?
-
我觉得你可以这样解决*.com/a/33364092/2893809
标签: uitableview uicollectionview imageview swift3.2