iPhone - это нормально, чтобы переопределить UITableViewCell setSelected: animated - PullRequest
4 голосов
/ 08 апреля 2010

Я рисую пользовательские UITableViewCells. Мои ячейки непрозрачны и полностью прорисованы в DrawRect ячейки, чтобы помочь с производительностью. Я хочу обработать вид выбранной ячейки самостоятельно. Если я этого не сделаю, то содержимое моей ячейки будет закрыто выбраннымBackgroundView, который добавляется. Является ли распространенным или приемлемым переопределение метода setSelected: animated моей ячейки, чтобы это было сделано правильно. Я предполагаю, что если бы я это сделал, то я бы не стал вызывать метод setSelected супер-приложения, поскольку я бы обрабатывал то, как ячейка покажет, что она выбрана. Я также должен был бы установить выбранное свойство ячейки.

Любая помощь будет отличной. Спасибо.

1 Ответ

20 голосов
/ 09 апреля 2010

Вы можете переопределить -[UITableViewCell setSelected:animated:], но вы всегда должны вызывать реализацию super в своей реализации. Невыполнение этого требования может иметь непредвиденные последствия для других видов поведения, связанных с выбором.

Если вы не хотите, чтобы суперкласс вносил какие-либо изменения стиля в результате выделения, просто установите для свойства selectionStyle ячейки значение UITableViewCellSelectionStyleNone.

...