我正面临着UICollectionView这个奇怪的问题。我创建了一个自定义视图控制器,其中包含一个xib文件的UICollectionView。然后我将自定义视图控制器添加到主视图,并在添加后填充集合视图的数据。 但每次显示视图时,集合视图会闪烁,然后显示空白,没有项目?!它真的很奇怪,我以前从未见过它?!您可以在下面的视频中看到它: https://youtu.be/Pwn8cufpQ1Y
以下是我添加自定义视图的方式:
let list = HorizontalListViewController(nibName: "HorizontalListViewController", bundle: nil)
list.view.translatesAutoresizingMaskIntoConstraints = false
self.contentView.addSubview(list.view)
let constraintTop = NSLayoutConstraint(item: list.view, attribute: .Top, relatedBy: .Equal, toItem: self.contentView, attribute: .Top, multiplier: 1, constant: self.contentViewHeight.constant)
let constraintLead = NSLayoutConstraint(item: list.view, attribute: .Leading, relatedBy: .Equal, toItem: self.contentView, attribute: .Leading, multiplier: 1, constant: 0)
let constraintTrail = NSLayoutConstraint(item: list.view, attribute: .Trailing, relatedBy: .Equal, toItem: self.contentView, attribute: .Trailing, multiplier: 1, constant: 0)
let constraintHeight = NSLayoutConstraint(item: list.view, attribute: .Height, relatedBy: .Equal, toItem: nil, attribute: .NotAnAttribute, multiplier: 1, constant: CGFloat(LIST_VIEW_HEIGHT))
list.view.addConstraint(constraintHeight)
self.contentView.addConstraints([constraintTop, constraintLead, constraintTrail])
list.setList(datas, title: title)
在viewDidLoad中注册单元格:
// Do any additional setup after loading the view.
self.collectionView.dataSource = self
self.collectionView.delegate = self
self.collectionView.registerNib(UINib(nibName:"HorizontalListCollectionViewCell", bundle: nil), forCellWithReuseIdentifier: CELL_IDENTIFIER)
你以前看过这个问题吗?我该如何解决?
编辑1:
我尝试了Santosh给出的解决方案,但结果仍然相同,但现在细胞显示出更长的时间才消失。以下是视频:https://youtu.be/8H4KqY6JJNs
编辑2:
我尝试使用故事板创建自定义视图控制器,但单元格仍然不断消失
编辑3:
如您所见,隐藏属性设置为YES。我仔细检查每行代码,并确定我没有设置单元格的隐藏属性。所以我认为在某些时候,某些地方,集合视图会自动将其单元格设置为隐藏
答案 0 :(得分:1)