I want to display data on table view cell from database so i want to give the color to cell according to data means for 1st cell gray then next two cell in brown again i wan
If you mean cell's background color, the simplest way to change it:
cell.backgroundView.backgroundColor = [UIColor greenColor];
It looks like:
- (UITableViewCell *) tableView:tableView cellForRowAtIndexPath:indexPath
{
cell = ... // dequeue or initialize cell
switch (criteriaFromDatabase)
{
case 0:
cell.backgroundView.backgroundColor = [UIColor greenColor];
break;
case 1:
cell.backgroundView.backgroundColor = [UIColor blueColor];
break;
default:
cell.backgroundView.backgroundColor = [UIColor redColor];
break;
}
return cell;
}
Use below code.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static int alternateColor = 0;
if((alternateColor % 2) == 0 )
{
cell.contentView.backgroundColor = [UIColor whiteColor];
}
else
{
cell.contentView.backgroundColor = [UIColor blackColor];
}
alternateColor++;
}
Try this.
if(indexPath.row % 2 == 0)
{
[cell setBackgroundColor:[UIColor grayColor]];
}
else
[cell setBackgroundColor:[UIColor brownColor]];
Mitesh Khatri's answer worked for me, although I changed the order of colors used to white as the second color as seen below for what I thought was a better UI. I also used a uicolor generator at www.UIColor.org to find just the right color for my needs. Hopes this helps.
(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.row % 2 == 0) {
[cell setBackgroundColor:[UIColor colorWithRed:81.0/255.0 green:102.0/255.0 blue:145.0/255.0 alpha:0.1]];
}
else {
[cell setBackgroundColor:[UIColor whiteColor]];
Priyanka, If it's alternating the color of cell then you can use
if(indexPath.row % 2 == 0) {
cell.contentView.backgroundColor = [UIColor grayColor];
}
else
cell.backgroundColor = [UIColor brownColor];
and if the colors are random i.e. first one is gray, second and third is brown and forth one white etc. etc. then you should make an array of UIColor objects, like
NSArray *arryColor = [NSArray arrayWithObject:[UIColor grayColor],[UIColor brownColor],[UIColor brownColor],[UIColor whiteColor],[UIColor redColor],[UIColor greenColor],nil];
and then in the method
- (UITableViewCell *) tableView:tableView cellForRowAtIndexPath:indexPath
{
// your cell creating stuff
cell.contentView.backgroundColor = [arryColor objectAtIndex:indexPath.row];
return cell;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.row % 2 == 0) {
[cell setBackgroundColor:[UIColor whiteColor]];
}
else {
[cell setBackgroundColor:[UIColor lightGrayColor]];
}
}