我在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
}
在Table View 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 中立即加载和显示?谁能帮我?