Добавление кнопки в TTTable View Item - PullRequest
1 голос
/ 25 октября 2011

Я бился головой о добавлении кнопки в ячейку.Это то, что я сделал.

Я подклассифицировал TTTableMessageItem и TTTableMessageItemCell.

Я добавил следующий метод в элемент сообщения init:

 + (id)itemWithTitle:(NSString *)title caption:(NSString *)caption text:(NSString *)text timestamp:(NSDate *)timestamp imageURL:(NSString *)imageURL URL:(NSString *)URL target:(id)target action:(SEL)action;

Я также добавил SELпеременная и "id" для действия и цели.

Под setObject в ячейке сообщения я добавил это:

 - (void)setObject:(id)object {
  if (_item != object) {
      [super setObject:object];

    TJTableMessageItem* item = object;

    if (item.plusAction) {
        self.plusAction = item.plusAction;
    }

    if (item.plusTarget) {
        self.plusTarget = item.plusTarget;
    }
  }
}

Теперь я могу легко вызывать метод в моем источнике данных для просмотра таблицы,Но я не могу узнать, какая ячейка была нажата.Я надеюсь, что кто-то может мне помочь, я потратил много времени на выяснение части setObject.

Я хотел бы узнать, как и добавить подпредставление, как в приложении Facebook, в части «Нравится», «Комментарий».Я думаю, что мне нужно иметь возможность запустить метод внутри контроллера представления.Но я нигде ничего не могу найти.В блоге Cybersam есть объяснение, которое не использует TableItem и TableItemCell, как Three20.

1 Ответ

0 голосов
/ 08 ноября 2011

предполагается, что целью является ваш TableViewController, а SEL имеет аргумент с именем sender, например:

- (void)likeButtonClicked:(id)sender;

, тогда вы можете найти представление ячейки в соответствии с sender (sender.superView .....) и используйте TableView, чтобы найти индекс ячейки, вот и все.

...