在特定的 CollectionViewCell 中隐藏视图

Hide view in specific CollectionViewCell

我对如何以正确的方式实施这些东西有疑问。 到目前为止我完成了

if indexPath.row == 1 {
            let indexPatha = NSIndexPath(forRow: 0, inSection: 0)

            let changeCell = collectionView .cellForItemAtIndexPath(indexPatha) as! BarCollectionViewCell
            changeCell.addNewBottleSecondButton.alpha = 0
}

但是,当我滑动直到单元格被隐藏时,出现错误,在展开可选值时意外发现 nil,而且这看起来仍然不像我想要的那样。 我想实现这一点,当我有一个以上的单元格时,我想隐藏一个特定的视图。

在您的流程中改为在 cellForRowAtIndexPath 中处理此问题是否可行?

初始化单元格后:

    cell.addNewBottleSecondButton.hidden = (indexPath.row == 0) && (dataItems.count > 1)

如果单元格已滚出屏幕,由于 Apple 的 dequeue/re-use 优化,它可能不再存在。以前遇到这个问题时,如果在尝试更改单元格的 UI.[=10= 时单元格不存在,我必须设置一个状态变量并处理 cellForRow 中的 UI 更改]