Как установить составной цвет фона для ячеек UITableView? - PullRequest
0 голосов
/ 07 февраля 2012

Я хочу разделить UITableViewCell по горизонтали на две части.

Установите нижнюю половину цвета на синий, а верхнюю половину на светло-синий.

Также цвета необходимо поменять местами при выборе ячейки.

Я пытаюсь реализовать, используя CALayer. Но не очень успешно.

Поскольку таблица содержит большое количество данных, использование изображения будет ухудшать производительность и использовать много памяти.

Как мне это сделать?

Ответы [ 3 ]

0 голосов
/ 07 февраля 2012

Создайте два UIView объекта и установите его цвет фона на те, которые вы хотите.Используя эти два представления, создайте фоновые представления для выбранного и нормального состояния ячейки.Вы делаете это, устанавливая рамки представлений в соответствии с рамкой ячейки.Затем вам нужно установить два свойства для UITableViewCell в cellForRowAtIndexPath:.

@property(nonatomic, retain) UIView *backgroundView
@property(nonatomic, retain) UIView *selectedBackgroundView
0 голосов
/ 07 февраля 2012

Вы должны иметь возможность использовать фоновое свойство ячейки

UITableViewCell *cell = // ... code to create table view cell

UIView *topView = [[UIView alloc] initWithFrame:CGRectMake(0,0,cell.contentView.frame.size.width, cell.contentView.frame.size.height/2);

UIView *bottomView = [[UIView alloc] initWithFrame:CGRectMake(0,0,cell.contentView.frame.size.width, cell.contentView.frame.size.height/2);

UIView *backgroundView = [[UIView alloc] initWithFrame:CGRectMake(0,0,cell.contentView.frame.size.height, cell.contentView.frame.size.width);

[backgroundView addSubview:topView];
[backgroundView addSubview:bottomView];

cell.backgroundView = backgroundView;
0 голосов
/ 07 февраля 2012

Почему бы не использовать два вида UIView, упорядоченных в качестве фона, и назначить каждому цвет фона?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...