UITableViewCell с помощью кнопки UIB - PullRequest
2 голосов
/ 12 октября 2010

У меня есть UITable, который содержит несколько кнопок UIB. Я хотел бы использовать метку.

Проблема в том, что мне нужно две метки тега, одна для получения ячейки в tableviewCellWithReuseIdentifier и configureCell.

До недавнего времени я использовал UIButton.title, чтобы определить, какую строку в таблице я выбрал. Текст (невидимый) был номером строки.

Теперь мне нужно использовать заголовок для некоторого видимого текста. Как я могу все еще найти, какая строка была нажата?

Когда я нажимаю область за пределами кнопки, вызывается обычный didSelectRowAtIndexPath . Сложность в том, что я хочу захватить как UIButton (который вызывает свой собственный селектор) , так и строку, которую я узнал из названия. Теперь мне нужно название для чего-то другого.

Ответы [ 4 ]

9 голосов
/ 12 октября 2010

Я использую что-то вроде этого.Это даст вам указатель в табличном представлении.

- (IBAction)buttonAction:(id)sender {
    UIButton *button = (UIButton *)sender;
    CGPoint buttonOriginInTableView = [button convertPoint:CGPointZero toView:tableView];
    NSIndexPath *indexPath = [tableView indexPathForRowAtPoint:buttonOriginInTableView];

    // do something
}
0 голосов
/ 12 октября 2010

Вы должны реализовать протокол UITableViewDelegate.

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    // Do something based on selected row (indexPath.row)
}
0 голосов
/ 12 октября 2010

Реализация протокола UITableViewDelegate.Это поможет вам и сделает то, что вам нужно.

didSelectRowAtIndexPath вызывается автоматически всякий раз, когда в вашей таблице выбирается строка.

в вашем файле .m, тот, что с контроллером представления таблицытам нет ни одного, добавьте этот метод:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

   // NSInteger row = [indexPath row];
   // or (indexPath.row)
   // do whatever you like with this value which tells you which row is selected.

}

PK

0 голосов
/ 12 октября 2010

Вы можете создать подкласс UITableViewCell или UIButton и добавить некоторые свойства.

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