gpt4 book ai didi

swift - 如何更改 UICollectionView 中特定单元格的颜色

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

代码很简单,但我不知道为什么它不起作用。我想做的是将第 5 个单元或第二列第二行中的单元的颜色更改为黑色,而不是白色。

import UIKit

class ViewController: UIViewController {

@IBOutlet weak var x: UICollectionView!

var place = NSIndexPath(forItem: 1, inSection: 1)

@IBAction func y(sender: AnyObject) {

x.cellForItemAtIndexPath(place)?.backgroundColor = UIColor.blackColor()

}

@IBAction func z(sender: AnyObject) {

x.cellForItemAtIndexPath(place)?.backgroundColor = UIColor.whiteColor()

}

}

最佳答案

如果你想改变单元格的背景,那么你必须管理它的contentView,例如:

cell.contentView.backgroundColor = UIColor.whiteColor()

因此,根据您的情况,您可以将函数替换为:

@IBAction func y(sender: AnyObject) {

self.x.cellForItemAtIndexPath(place)?.contentView.backgroundColor = UIColor.blackColor()

}

@IBAction func z(sender: AnyObject) {

self.x.cellForItemAtIndexPath(place)?.contentView.backgroundColor = UIColor.whiteColor()

}

此外,如果您要更改第五个单元格背景颜色,您的索引路径应该是:

var place = NSIndexPath(forItem: 4, inSection: 0)

我注意到你正在尝试执行第 1 行和第 1 列,因此它的 forItem: 1 和 inSection: 1,它不像 IOS 中那样工作。 UICollectionView 有项目和部分,collectionView 中的项目从左侧开始写入 item0 item1 item2.. 等,默认情况下其位于第 0 部分,例如,您添加另一个部分,该部分将是第 1 部分,以将其他项目放入其中,这将是item0、item2、item3 .. 等,但它在第 1 节等中,更多信息请参见:Apple Documentation

确保将数据源设置为 ViewController:

class ViewController: UIViewController,UICollectionViewDataSource {

override func viewDidLoad() {
super.viewDidLoad()

x.dataSource = self

}


func numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int {

return 1
}


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

return 20
}

func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCellWithReuseIdentifier(reuseIdentifier, forIndexPath: indexPath)

// Configure the cell


return cell
}
}

它应该可以完美工作,祝你好运!

关于swift - 如何更改 UICollectionView 中特定单元格的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35760268/

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