gpt4 book ai didi

ios - 在 CollectionView 中关闭已使用的单元格并打开未使用的单元格

转载 作者:行者123 更新时间:2023-11-30 11:45:38 25 4
gpt4 key购买 nike

我尝试在 collectionView关闭已使用的单元格并打开未使用的单元格。我认为需要在 func collectionView(_ collectionView: UICollectionView, shouldSelectItemAt indexPath: IndexPath) -> Bool

我有字符串数组:

var arrayOfStrings: [String] = ["01:00", "05:00", "06:00", "07:00"]

我需要关闭来选择包含来 self 的collectionView中的arrayOfStrings的字符串的单元格,并保留打开单元格以选择不包含字符串的单元格存在于我的数组中。

我该怎么做?

这是我的代码:

var allTimeArray: [String] = ["01:00", "02:00", "03:00", "04:00", "05:00", "06:00", "07:00", "08:00", "09:00", "10:00", "11:00", "12:00", "13:00", "14:00", "15:00", "16:00"]
var arrayOfStrings: [String] = ["01:00", "05:00", "06:00", "07:00"]

func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {

return allTimeArray.count

}

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {

let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "timeCell", for: indexPath) as! BookTimeCell

cell.timeLabel.text = allTimeArray[indexPath.item]

return cell

}

func collectionView(_ collectionView: UICollectionView, shouldSelectItemAt indexPath: IndexPath) -> Bool {

// i think need use IF...
return true

}

还有我的收藏查看图片:

enter image description here

最佳答案

可以尝试搜索arrayOfStrings是否包含要显示的项目,返回false关闭选择

func collectionView(_ collectionView: UICollectionView, shouldSelectItemAt indexPath: IndexPath) -> Bool {

let item = allTimeArray[indexPath.row]
for er in arrayOfStrings
if(er == item)
return false

return true

}

或者简而言之

 func collectionView(_ collectionView: UICollectionView, shouldSelectItemAt indexPath: IndexPath) -> Bool {


return !(arrayOfStrings.contains(allTimeArray[indexPath.row]))


}

关于ios - 在 CollectionView 中关闭已使用的单元格并打开未使用的单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48850630/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com