tvOS CollectionView所选项目渲染缓慢

时间:2018-10-26 11:02:56

标签: ios swift tvos collectionview

我正在执行collectionview设置,并启用了本地数据和multiselect。当我在实际设备上运行此程序时,出现了一些渲染问题。当我快速滚动时,需要一段时间才能显示活动单元。当我停下来然后突然弹出时,它们会保持一段时间不活动。

在didSelect上,我正在执行以下操作;

[FunctionName("NoResponseHandlerFunction")]
    public static void Run(
        [ActivityTrigger] DbReadOptions readOptions)

如上所述,所有collectionview选择都有不同的方式处理选择。如果我在第1部分中选择了某些内容,我也会在第2部分中选择单元格。

selected和deselected状态在这样的子类中处理;

override func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
    let cell = collectionView.cellForItem(at: indexPath) as! FRMenuCollectionViewCell
    let selectedCells:[IndexPath] = collectionView.indexPathsForSelectedItems!
    cell.isSelected = true

    switch indexPath.section {
    case 0:
        let item = fixedData[indexPath.row]
        itemSelection.append(item)
        break
    case 1:
        handleContinentSelection(with: indexPath)
        break
    default:
        print("An unexpected case occured")
    }
}


func handleContinentSelection(with indexPath: IndexPath) {
    let continent = continentData[indexPath.row]

    for country in countryData {
        if (country.continent?.continentName)! == continent {
            itemSelection.append(country.countryName!)

            if let index = countryData.lastIndex(of: country) {
                collectionView?.selectItem(at: IndexPath(row: index, section: 2), animated: false, scrollPosition: [])
            }
        }
    }
}

因此,选定状态为填充文本,取消选定状态被概述。一切正常,在快速滚动时(在侧面滚动中最明显),它只能在我的Apple TV上缓慢渲染。任何有关如何优化这一点的想法将不胜感激。

0 个答案:

没有答案