ios - UITableViewCell背景色渐变

标签 ios uitableview

所以目前我正在使用TableViewController,但我希望它像每个单元格上的渐变tableview一样,如图中所示

enter image description here

有什么好的方法可以根据我要填充表格的数组的大小来完成此操作?

最佳答案

如果您只是想在两种颜色之间进行插值,则可以在每个RGB颜色分量之间进行插值(也可以使用HSB进行此操作)。

定义开始颜色和结束颜色。我选择了一个元组表示形式:

typealias Color = (red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat)

let startColor: Color = (red: 0.0/255, green: 114.0/255.0, blue: 96.0/255.0, alpha: 1.0)
let endColor: Color = (red: 10.0/255.0, green: 188.0/255.0, blue: 161.0/255.0, alpha: 1.0)

计算每个颜色分量的步数和步长:
var data = [/* ... */]
let steps = data.count > 1 ? CGFloat(data.count - 1) : 1.0
let rStep = (endColor.red - startColor.red) / steps,
    gStep = (endColor.green - startColor.green) / steps,
    bStep = (endColor.blue - startColor.blue) / steps,
    aStep = (endColor.alpha - startColor.alpha) / steps

最后,在您的cellForRowAtIndexPath中:
let rowIdx = CGFloat(indexPath.row)
myCell.backgroundColor = UIColor(red: startColor.red + rowIdx * rStep, green: startColor.green + rowIdx * gStep, blue: startColor.blue + rowIdx * bStep , alpha: startColor.alpha + rowIdx * aStep)

如果您的单元格计数发生了变化,您当然希望重新计算每个颜色分量的步长。

在操场上的结果:

enter image description here

关于ios - UITableViewCell背景色渐变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38809968/

相关文章:

ios - UITableviewCell 中的渐变添加导致重新加载时出现动画问题

ios - CollectionView中tableViewCell数据展示

ios - 如何正确地将静态 "Right Detail"UITableViewCell 内容与图像对齐?

ios - 滚动时 UITableViewCell contenview 上的阴影率增加

ios - 从相机点击后在 tableView Cell 中添加图像

ios - UITableViewCell 奇怪的行为

ios - 在低于 15.0 的 iOS 版本上制作不填充的符号图像

ios - 当应用程序被杀死时向网络服务发送请求? ( swift 3)

ios - 如何在 Xcode 7 中启用_BITCODE?

ios - AVFoundation 无法扫描低对比度二维码