В iOS 7 разделитель ячеек сгруппированных стилей UITableView выглядит немного иначе. Это выглядит примерно так:
Я попробовал ответ Кеменарана сделать это:
cell.separatorInset = UIEdgeInsetsMake(0, 10000, 0, 0);
Однако это, похоже, не работает для меня. Я не уверен почему. Поэтому я решил использовать ответ Хирена , но с использованием UIView
вместо UIImageView
, и нарисовал линию в стиле iOS 7:
UIColor iOS7LineColor = [UIColor colorWithRed:0.82f green:0.82f blue:0.82f alpha:1.0f];
//First cell in a section
if (indexPath.row == 0) {
UIView *line = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 1)];
line.backgroundColor = iOS7LineColor;
[cell addSubview:line];
[cell bringSubviewToFront:line];
} else if (indexPath.row == [self.tableViewCellSubtitles count] - 1) {
UIView *line = [[UIView alloc] initWithFrame:CGRectMake(21, 0, self.view.frame.size.width, 1)];
line.backgroundColor = iOS7LineColor;
[cell addSubview:line];
[cell bringSubviewToFront:line];
UIView *lineBottom = [[UIView alloc] initWithFrame:CGRectMake(0, 43, self.view.frame.size.width, 1)];
lineBottom.backgroundColor = iOS7LineColor;
[cell addSubview:lineBottom];
[cell bringSubviewToFront:lineBottom];
} else {
//Last cell in the table view
UIView *line = [[UIView alloc] initWithFrame:CGRectMake(21, 0, self.view.frame.size.width, 1)];
line.backgroundColor = iOS7LineColor;
[cell addSubview:line];
[cell bringSubviewToFront:line];
}
Если вы используете это, убедитесь, что вы указали правильную высоту представления таблицы во втором операторе if. Надеюсь, это кому-нибудь пригодится.