如何用数组中的颜色填充表格视图单元格背景?

时间:2015-09-04 06:35:20

标签: ios uitableview

我在viewDidLoad中有一个这样的数组,其中包含用于填充表格视图单元格背景颜色的UIColor

self.ColorArray = [NSArray arrayWithObjects: 
                      @"[UIColor redColor];", 
                      @"[UIColor redColor];", 
                      @"[UIColor redColor];", nil]; 

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
     cell.contentView.backgroundColor = [self.ColorArray objectAtIndex: indexPath.row % self.ColorArray.count]; 
}

但这会导致抛出此错误:

-[__NSCFConstantString CGColor]: unrecognized selector sent to instance 0x137b28 -

2 个答案:

答案 0 :(得分:1)

您正在尝试将颜色作为字符串传递。

尝试传递为:

  self.ColorArray = [NSArray arrayWithObjects: 
     [UIColor redColor], 
     [UIColor redColor], 
     [UIColor redColor], nil]; 


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

  cell.contentView.backgroundColor = [self.ColorArray objectAtIndex: indexPath.row % self.ColorArray.count]; 

}

答案 1 :(得分:0)

您正在使用String对象初始化颜色数组

而是尝试将UIColor个对象添加到数组

self.ColorArray = @[[UIColor whiteColor], @[UIColor redColor], @[UIColor grayColor]];