Обнаружение, когда была нажата кнопка раскрытия деталей ячейки (при использовании пользовательской ячейки XIB) - PullRequest
6 голосов
/ 22 апреля 2010
if (cell == nil)       // 1
{                      // 2
   [[NSBundle mainBundle] loadNibNamed:@"TVCell" owner:self options:nil];  // 3
   cell = tvCell;      // 4
   self.tvCell = nil;  // 5
}                      // 6

Есть некоторый код из примера Apple об использовании вашей собственной "пользовательской ячейки XIB" для создания ячеек в UITableView.

Кажется, это работает ... но я думаю, что лучше бы на самом деле понять что там делается.

  • Почему следующее присвоение значения чему-то не так?

    cell = [[NSBundle mainBundle] loadNibNamed:@"TVCell" owner:self options:nil];
    

    (На самом деле cell и tvCell вообще не используются.)

  • Почему строка # 4 назначается с использованием tvCell, когда его еще ничего не вставили?

  • Почему строка № 5 обнуляет tvCell, что мне нужно?

  • Почему эта строка использует присвоение, а не сохранение?

    @property (nonatomic, assign) IBOutlet UITableViewCell *tvCell;
    

О единственной вещи, которую я не могу заставить работать правильно, это когда я помещаю кнопку раскрытия в свою ячейку XIB. Есть ли способ определить, когда пользователь нажал на нее? (Надеюсь, без использования 100-х тегов.)

1 Ответ

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

Я не играл с XIB для ячеек, но я не понимаю, почему вы все еще не можете использовать tableView:accessoryButtonTappedForRowWithIndexPath:.

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