Change the UITableView separatorColor for a single UITableViewCell

前端 未结 3 1277
醉梦人生
醉梦人生 2021-01-02 03:17

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 di

3条回答
  •  悲哀的现实
    2021-01-02 03:58

    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;
    }
    

提交回复
热议问题