I have a UITableView
that uses a variety of custom UITableViewCells
.
I'd like to be able to have one of these table cells appear with a different separator color than the rest of the other cells.
I know that tableview.seperatorColor
updates the whole tableView
. Is there a cell specific property I missing or another approach to doing this?
Thanks for any tips. Sorry if I am just spacing on something in the UITableViewCell
class.
yes it is possible, I added the UITableVIew within the UITableView cell .. :) no need to add tableview cell in xib file - just subclass the UITableviewCell and use the code below, a cell will be created programatically.
To change the separator color using Interface Builder we need to open the storyboard/xib file. Once storyboard/xib file is open, select the UITableView that you want to change the separator color for. Now that we have selected the UITableView, we need to go to the Attribute Inspector .
Disclaimer - this worked for me at the time under my specific circumstances. It is not guaranteed to work, it appears to no longer work, and I now advise you subclass UITableViewCell
.
Came across this post when looking to set the UITableView.separatorColor
differently across groups/sections in a grouped UITableView
.
You don't necessarily need to subclass UITableViewCell
. You can try setting tableView.separatorColor
on each call to tableView:cellForRowAtIndexPath:
.
For example, if you want the separator to be visible with the default color in the first section, visible in the first row/cell of the second section, and invisible in the rest of the rows in the second section, you can do the following:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
switch (indexPath.section) {
case 0:
tableView.separatorColor = nil;
break;
case 1:
switch (indexPath.row) {
case 0:
tableView.separatorColor = nil;
break;
case 1:
tableView.separatorColor = [UIColor clearColor];
break;
default:
break;
}
break;
default:
break;
}
The tableView.separatorColor
is global across all cells.
If you want to further customize these colors, your best bet would be to set separatorStyle
property to UITableViewCellSeparatorStyleNone
, and override UITableViewCell
.
Then you can draw your own custom seperator in the contentView
of the Cell
and customize it.
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