Как получить данные ячейки из события нажатия кнопки (пользовательская ячейка табличного представления) - PullRequest
0 голосов
/ 30 ноября 2011

На моей ячейке табличного представления есть кнопка и метка. Вот как я установил действие кнопки.

[cell.btnPlus addTarget: self action: @selector(plusButtonPressed) forControlEvents: UIControlEventTouchUpInside];

Этот метод работает нормально. Я хочу получить текст метки ячейки, в которой нажата кнопка.

Как я мог это сделать?

Ответы [ 4 ]

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

установить тег в ячейку:

cell.contentView.tag = indexPath.row+10000*indexPath.section; //or any you like
[cell.contentView addSubview:button];

затем при обратном вызове кнопки:

int raw=0;
int section=0;
long tag = [sender superview].tag;
NSLog(@"tag: %ld", tag);
for (int i = 0; i<[data count]; i++) {
    if (tag>=10000) 
    {
        tag-=10000;
        section++;
    }
    else i = [data count];
}
raw = tag;

Теперь у вас есть полный доступ к вашей камере. используйте рассчитанные raw и section и получите доступ к ячейке.

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

установите тег для этой кнопки и метки, тогда вы можете получить текст этой метки используя представление с опцией тега

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

измените @selector (plusButtonPressed) на @selector (plusButtonPressed :) (обратите внимание на добавленное двоеточие в конце)

, затем в вашем

- (void)plusButtonPressed:(UIButton*)sender {
    NSString *theText = sender.superview.textlabel.text;
}

(это предполагает кнопку плюсдобавляется в contentView UITableViewCell)

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

Либо добавьте свойство к кнопке, которое указывает на ячейку, либо, если btnPlus является подпредставлением ячейки, используйте btnPlus.superview.textlabel.text.

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