2014-09-10 3 views
0

У меня есть UITableViewController реализующего собственные клеток черезпользовательское UITableViewCell с ползунками

CustomTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 

и в файле CustomTableViewCell.h я объявил

@property (nonatomic, weak) IBOutlet UISlider *slider; 

, который подключен к моему слайдеру в моей раскадровке и IBAction, что изменения фон ячейки, когда ползунок отрегулирован (значение изменено). Моя проблема заключается в том, что когда я сдвигаю вниз по представлению таблицы, как только моя ячейка удаляется, она повторно используется с ползунком в том же положении и, следовательно, фоном настроенный цвет. Я не хочу хранить всю таблицу в памяти, но мне нужно, чтобы информация вводилась в ячейку, доступную для будущего использования. Есть ли стандартный способ справиться с такой проблемой? Благодарю.

ответ

1

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

+0

Должен ли я переопределить метод 'dequeueReusableCellWithIdentifier' или в 'cellForRowAtIndexPath'? – Jared

+0

в cellForRowAtIndexPath вы вызываете метод dequeueReusableCellWithIdentifier, а затем вызываете cell.slider.value – meim

0

Да, вы должны хранить данные для таблицы в памяти (для значений Примера ползунка в NSArray), а в вашем методе данных UITableView вам необходимо обновить состояние повторно используемой ячейки. UITableView достаточно умен, чтобы не загружать ячейки для всей таблицы, он загружает только видимые ячейки. Это стандартный способ сделать это.

0

почему бы не настроить ячейку после метода dequeueReusableCellWithIdentifier

cell.backgroundColor = // настроить цвет

cell.slider.value = // отрегулировать значение

Смежные вопросы