Swift UICollectionView单元格ForItemAtIndexPath设置单元格内容不正确

Swift UICollectionView单元格ForItemAtIndexPath设置单元格内容不正确,swift,swift2,uicollectionview,uicollectionviewcell,Swift,Swift2,Uicollectionview,Uicollectionviewcell,我想使按钮隐藏,只要它的标题等于'str'变量 我不能添加更多的照片,但它对“7:00”、“12:00”、“17:00”、“22:00”值也是如此。 只想看“2:00”,然后做比较 这是(collectionView)cellForItemAtIndexPath错误还是其他错误?我很困惑。请帮忙 在cellForItemAtIndexPath中没有错误,是您隐藏了单元格的标签。所以它只是隐藏标签,而不是移除单元格。如果只想显示不等于2:00的值,则需要为该值创建一个额外数组,并将其交给Colle

我想使按钮隐藏,只要它的标题等于'str'变量

我不能添加更多的照片,但它对“7:00”、“12:00”、“17:00”、“22:00”值也是如此。 只想看“2:00”,然后做比较


这是(collectionView)cellForItemAtIndexPath错误还是其他错误?我很困惑。请帮忙

cellForItemAtIndexPath
中没有错误,是您隐藏了单元格的
标签。所以它只是隐藏标签,而不是移除单元格。如果只想显示不等于
2:00
的值,则需要为该值创建一个额外数组,并将其交给
CollectionViewDelegate
方法。创建一个全局数组并执行如下操作

var array: [Int] = [Int]()
fun populateData() {
    for i in oldArray {
        if i != 2 {
            self.array.append(i)
        }
    }
    collectionView.reloadData()
}
现在在
CollectionViewDelegate
方法中使用这个
array
对象

func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
     return self.array.count
} 

func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
    let hour = array[indexPath.row]
    cell.hourBtn.setTitle("\(hour):00", forState: .Normal)
    //Now there is no need to write code for hiding button
}

希望这将对您有所帮助。

当您滚动时,它将重新使用单元格,因此您可以根据条件将隐藏的true设置为false。我想这是你的问题

func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let hour = array[indexPath.row]
let str ="2:00"
 if(cell.hourBtn.titleLabel?.text ==str {
   cell.hourBtn.hidden = true
 }
  else {
   cell.hourBtn.hidden = false
  }
}

这里有两张图片显示了我的代码块和输出。我想做一个水平的收集视图,里面有一个按钮,可以显示24小时,比如“01:00”,“02:00”,等等。但是我想设置一些不同于其他按钮的按钮。它将是隐藏按钮或不同的标题颜色。在本例中,我尝试隐藏标题为“02:00”的按钮。。但其他一些按钮也有变化,标题为“7:00”、“12:00”、“17:00”。当我向左或向右移动水平集合视图时,每次它都会设置不同的按钮。这很奇怪,不是吗?它可以工作,但是如果我想显示那个按钮,但只是想设置它与其他按钮不同的颜色,我该怎么办?当我尝试将其颜色设置为不同,并尝试将水平集合视图向右2向左或向左2向右移动时,不断更新按钮颜色,每次移动不同的按钮,而不是我想要的。我不明白你想说什么。简单解释一下。您想更改哪个按钮颜色?根据您的解决方案,有一个包含几个小时的数组。但我想展示所有的时间,有些人有不同的品质。当我移动collectionview时,每次它都会改变不同的按钮颜色。所以很明显,这都是关于“其他”的:)。