UITableViewCell хранит свои представления в очереди? (для dequeueReusableCellWithIdentifier) - PullRequest
1 голос
/ 09 марта 2011

Когда пользовательский UITableViewCell ставится в очередь (например, он исчезает с экрана), сколько его настроек сохраняется?Например:

  1. Сохраняются ли ранее добавленные к нему представления (например, [cell.contentView addSubview: someUILabel];)
  2. Конфигурация таких подпредставлений?(например, шрифты)
  3. Данные из таких подпредставлений?

Просто пытаюсь понять, когда я делаю dequeueReusableCellWithIdentifier и получаю ячейку из очереди, как повторно работают, если они естьнужно не только изменять данные (например, менять текстовые значения в подпредставлениях UILabels).

Ответы [ 3 ]

2 голосов
/ 09 марта 2011

UITableView не будет изменять ячейку, пока она находится в очереди, однако она вызовет -prepareForReuse перед снятием очереди с ячейки, что может привести к сбросу атрибутов ячейки, возвращаемых -dequeueReusableCellWithIdentifier:. Как следует из документации, содержимое ячеек должно оставаться неизменным, и ваш делегат может изменить ячейку по мере необходимости, прежде чем она будет снова использована.

1 голос
/ 09 марта 2011

Система защищает все данные для UITableViewCell, включая любое настраиваемое представление (добавляемое как вспомогательное представление для UITableViewCell), шрифты (применяемые либо к настраиваемому представлению, либо непосредственно к UITableViewCell), а также данные с настраиваемым представлением.

1 голос
/ 09 марта 2011

Это ничего не делает с клеткой, которой вы не говорите. Все, что он делает, это помещает это в новое место. В вашем коде вам нужно будет вручную изменить все, что уникально для запрашиваемой ячейки.

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