gpt4 book ai didi

swift - 表格 View 单元格在滚动 Swift 时改变颜色

转载 作者:搜寻专家 更新时间:2023-10-31 19:33:43 24 4
gpt4 key购买 nike

我正在制作一个应用程序,它使用彩色表格 View 单元格将其他单元格分成几类。我通过使用 if else 语句为单元格着色不同的颜色来做到这一点。但出于某种原因,当我启动该应用程序时,我在表格 View 上上下滚动的次数越多,其他单元格随机更改颜色的次数也就越多。这是我的自定义 instrumentTableCell 类中的代码:

@IBOutlet var nameLabel: UILabel?
@IBOutlet var descriptionLabel: UILabel?
@IBOutlet var thumbnailImage: UIImageView!

func configurateTheCell(recipie: Recipie) {
self.nameLabel?.text = recipie.name
self.descriptionLabel?.text = recipie.description
self.thumbnailImage?.image = UIImage(named: recipie.thumbnails)
if nameLabel!.text == "Instrument"
{
backgroundColor = UIColor.orangeColor()
nameLabel?.textColor = UIColor.blackColor()
}
else if nameLabel!.text == "Optional addon"
{
backgroundColor = UIColor.cyanColor()
}

}
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
if nameLabel!.text == "Instrument"
{
return 20
}
else if nameLabel!.text == "Optional addon"
{
return 20
}
else
{
return 100
}


}

这是应用启动时的样子: when the app is launched

对比当用户稍微滚动一下时: after scrolled around

另外,如果有人知道怎么做,我希望彩色单元格也更小,这样应用程序看起来更漂亮。

最佳答案

您可以在 cellForRowAtIndexPath 委托(delegate)方法中设置

  func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

let cell = tableView.dequeueReusableCellWithIdentifier("your identifier", forIndexPath: indexPath)
if cell.recipie.name == "Instrument"
{
backgroundColor = UIColor.orangeColor()
nameLabel?.textColor = UIColor.blackColor()
}
else if cell.recipie.name == "Optional addon"
{
backgroundColor = UIColor.cyanColor()
}
else{
backgroundColor = UIColor.whiteColor()
}
return cell
}

关于swift - 表格 View 单元格在滚动 Swift 时改变颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38482561/

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