答案 0 :(得分:0)
您可以使用UITableViewCell属性 backgroundColor 动态设置单元格颜色。
实施例 -
-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell* cell = [self.tableView dequeueReusableCellWithIdentifier:@"Cell"];
if (!cell) {
cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell"];
}
//cellColorHolder is UIColor object type array.
cell.backgroundColor = (UIColor*)[cellColorHolder objectAtIndex:indexPath.row];
return cell;
}
答案 1 :(得分:0)
很容易做到:
我在下面给出一个演示:
tableView
拖到vc
:tableView
的委托和dataSource:第三步,在vc
中设置data
:
导入UIKit
类ViewController:UIViewController,UITableViewDelegate,UITableViewDataSource {
@IBOutlet weak var tableView:UITableView!
var cellCount:Int! = 6
var cus_color:UIColor = UIColor.init(红色:35 / 255.0,绿色:204 / 255.0,蓝色:216.0 / 255.0,alpha:1.0)
override func viewDidLoad() {
super.viewDidLoad()
self.tableView.separatorStyle = .none
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 100
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return cellCount
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = UITableViewCell() // or your custom cell
let perLevel:CGFloat = CGFloat(1.0) / CGFloat(self.cellCount)
cell.backgroundColor = UIColor.init(red: 35 / 255.0, green: 204/255.0, blue: 216.0/255.0, alpha: (perLevel + CGFloat(indexPath.row) * perLevel))
return cell
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
self.tableView.deselectRow(at: indexPath, animated: false)
}
}