Swift UICollectionView单元格ForItemAtIndexPath设置单元格内容不正确
我想使按钮隐藏,只要它的标题等于'str'变量 我不能添加更多的照片,但它对“7:00”、“12:00”、“17:00”、“22:00”值也是如此。 只想看“2:00”,然后做比较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
这是(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时,每次它都会改变不同的按钮颜色。所以很明显,这都是关于“其他”的:)。