1

У меня есть пользовательский UITableViewCell, который dequeueReusableCells. У меня есть int, называемый selectedRow, который получает номер выбранных строк в методе didSelectRowAtIndexPath. Затем я передаю selectedRow в int под названием rowNumber, который находится в классе моего customCell.Проверьте, выбран ли UITableViewCell, и ячейка отключилась от экрана

В , у меня есть метод prepareForReuse. В этом я сделал NSLog rowNumber.

Что я хочу сделать, это: если выбрана строка и эта строка вышла из экрана, тогда выполните некоторый код. Мне, вероятно, придется использовать prepareForReuse, но я не знаю, что с ним делать.

Я знаю, что это немного сложнее, но если у вас есть какие-либо вопросы, то я буду рад ответить

ответ

0

На самом деле, вам не нужно вызывать prepareForReuse непосредственно, как это будет называться автоматически:

этот метод вызывается непосредственно перед тем, возвращается объект из метода UITableView dequeueReusableCellWithIdentifier :.

и как вы не знаю, что делать в нем, примечание:

Из соображений производительности, вы должны только сбросить атрибуты ячейки , которые не связаны с содержанием, для Например, альфа, редактирование и выбора состояния

UITableViewCell Class Reference

0

Вы можете использовать - (void)tableView:tableView didEndDisplayingCell:cell forRowAtIndexPath:indexPath; в UITableViewDelegate, чтобы узнать, какая ячейка прокручивается от экрана.

Однако этот метод является только iOS6 +.

+0

у меня для этого в customCell.m, который не имеет класса 'didEndDisplayingCell' –

+0

@MikeRally, вы можете вызвать свой код в' customCell.m' из 'cell'. – songchenwen

0

Вы по-прежнему усложняете ситуацию. Вам не нужно делать prepareForReuse в пользовательской ячейке.

Взгляните на это. http://www.icodeblog.com/2009/05/24/custom-uitableviewcell-using-interface-builder/

Его очень похоже на раскадровки.

+0

Я думаю, что у вас неправильная ссылка, потому что у нее нет учебника, его единственный заголовок –

+0

Вы прошли через него? Он имеет пример кода внизу. – madgrand