Прокрутка задерживается (мигает) с помощью UICollectionView внутри UITableViewCell - PullRequest
0 голосов
/ 12 сентября 2018

Я реализовал Appstore / Netflix, такой как пользовательский интерфейс, где есть UITableView и внутри каждой (пользовательской) ячейки есть горизонтальная прокрутка UICollectionView.

Каждая ячейка UITableView функционирует как делегат и источник данных для своего collectionView. Данные хранятся с помощью переменной внутри ячейки tableView, которая устанавливается во время вызова tableView cellForRow.

После установки новой переменной didSet выполняет некоторые действия и вызывает collectionView.ReloadData (), чтобы collectionView отображал текущие данные. Это вызывает задержки при прокрутке, вероятно, из-за каждого вызова collectionView.ReloadData ().

Данные - это структура с некоторыми метаданными и самим содержимым в массиве.

cellForRow:

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: contentTableCellId, for: indexPath) as! ContentTableCell
    cell.contentItem = contentItems[indexPath.row]
    return cell
}

и внутри ContentTableCell:

    var contentItem: ContentItem!{
    didSet{
        ... //some simple text label actions.
        self.collectionView.reloadData()
    }
}
...