I am trying to set the cell background of my UITableViewCells but I am struggling with the background color of the UIAccessoryView. It does not change.
Can anyone help me make the background color of the UIAccessoryView transparent (or actually any other color)?
This is my code
cell.textLabel.backgroundColor = [UIColor clearColor];
cell.accessoryView.backgroundColor = [UIColor clearColor];
cell.detailTextLabel.backgroundColor = [UIColor clearColor];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
if(indexPath.row % 2) {
cell.contentView.backgroundColor = [UIColor clearColor];
}
else {
cell.contentView.backgroundColor = [UIColor redColor];
}
Here is an image illustrating the issue
You'll need to set the backgroundView
property of the UITableViewCell. For example:
UIView* myBackgroundView = [[[UIView alloc] initWithFrame:CGRectZero] autorelease];
myBackgroundView.backgroundColor = [UIColor redColor];
myCell.backgroundView = myBackgroundView;
If you want something more fancy, like a red gradient background, you would implement a subclass of UIView that draws a gradient in drawRect:
, and use it as the backgroundView.
You can also set the selectedBackgroundView
property if you want a custom look for a selected table cell.
In function
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
Use following code
cell.contentView.superview.backgroundColor = [UIColor redColor];
reference for more details
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With