Я обнаружил, что вам нужно использовать «простую» таблицу в стиле с прозрачным фоном, а затем воссоздать вид ячеек с закругленными углами, установив backgroundView каждой ячейки в UIImageView с изображением, которое имитирует закругленную смотреть. Это означает, что верхняя, нижняя и средняя ячейки нуждаются в разных фоновых изображениях.
Однако это не относится к тому, что происходит, когда пользователь касается ячейки, и она становится «выделенной» - тогда она будет выглядеть в квадрате. Вы можете обойти это, установив выделенное изображение для вашего фонового изображения фальшивой ячейки. Вы также захотите создать свой собственный вид аксессуара для раскрытия информации (ImageView) с выделенной белым цветом версией. Затем вы можете создать ячейку, подобную той, которую я использую (ниже). После того, как я выделил одну из этих ячеек, я установил backgroundView и accessoryView для моих UIImageViews.
#import "ClearBackRoundedTableCell.h"
@implementation ClearBackRoundedTableCell
- (id)initWithReuseIdentifier:(NSString *)reuseIdentifier
{
if (self = [super initWithStyle:UITableViewCellStyleDefault reuseIdentifier:reuseIdentifier]) {
}
return self;
}
- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated
{
if( [[self.accessoryView class] isSubclassOfClass:[UIImageView class]] )
((UIImageView *)self.accessoryView).highlighted = highlighted;
if( [[self.backgroundView class] isSubclassOfClass:[UIImageView class]] )
((UIImageView *)self.backgroundView).highlighted = highlighted;
self.textLabel.highlighted = highlighted;
}
@end
Одно примечание, если вы идете по этому пути: ячейки в сгруппированной таблице обычно имеют ширину 300 пикселей (в портретном режиме), но ваша простая таблица здесь должна иметь ширину 302, чтобы серая линия на каждой стороне таблицы , который обычно находится за пределами «содержимого» ячейки таблицы.