UITableView: как сделать так, чтобы UITableViewCellAccessoryDetailDisclosureButton появлялся при выделении - PullRequest
0 голосов
/ 19 января 2010

Я хотел бы, чтобы все строки в моем табличном представлении использовали UITableViewCellAccessoryNone (например, нет кнопки справа), если они не выбраны, и в этот момент я хочу использовать UITableViewCellAccessoryDetailDisclosureButton. Например. только одна строка (или ни одна, если нет выбора) имеет кнопку за раз.

Возможно ли это? Выполнение обычного способа реализации accessoryTypeForRowWithIndexPath, похоже, не работает динамически - например, он вызывается только один раз, независимо от того, что выбрано.

Спасибо

Ответы [ 2 ]

3 голосов
/ 20 января 2010

Примечание для других, пытающихся это сделать .. метод доступа accessoryTypeForRowWithIndexPath теперь устарел, вы получите это сообщение, если попытаетесь:

ПРЕДУПРЕЖДЕНИЕ. Использование устаревшего макета ячейки из-за делегировать реализацию Tableview: accessoryTypeForRowWithIndexPath: в . пожалуйста удалить вашу реализацию этого метод и установить свойства ячейки accessoryType и / или editAccessoryType для перехода к новое поведение расположения ячеек. Этот метод больше не будет называться в будущем релиз.

Вместо этого реализуйте метод setSelected в своем подклассе UITableViewCell. Например,

- (void)setSelected:(BOOL)selected animated:(BOOL)animated {

[super setSelected:selected animated:animated];

// Configure the view for the selected state

if (selected) {
    self.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;
} else {
    self.accessoryType = UITableViewCellAccessoryNone;
}

.. затем используйте метод reloadRowsAtIndexPaths: withRowAnimation, как описано выше.

1 голос
/ 19 января 2010

Если вы измените содержимое ячейки, вы захотите вызвать -reloadRowsAtIndexPaths: withRowAnimation: для вашего табличного представления.

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