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? Может кто-нибудь мне помочь?

Ответы на вопрос(0)

Ваш ответ на вопрос