stackoverflow.com/a/33364092/2893809
авляю один вид таблицы вКонтроллер Home View.
Внутри табличного представления я добавляю коллекционный вид.
Изображение внутри представления коллекции при первом запуске приложения. Затем перейдите к другим ссылкам и вернитесь на главную страницу, но изображение в представлении коллекции не будет отображаться сразу, пока оно не прокрутится во второй раз.
После просмотра изображения несколько раз появляется изображение.
В "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? Может кто-нибудь мне помочь?