Как получить indexPath.row / path Когда я нажимаю на переключатель в строке? - PullRequest
2 голосов
/ 01 сентября 2010

Я создаю буксировку или несколько пользовательских ячеек

каждая ячейка имеет переключатель внутри

Как узнать, какой переключатель в строке я нажимаю

ex. Я нажимаюПереключатель в строке 3, чем он будет возвращать indexPath.row = 3

, а также состояние переключателя включено или выключено?

, какие пустые места мне следует ввести?

Iзнаю, что есть способ получить возвращение indexpath:

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

Но я не хочу касаться строки, только переключатель ...

ОЯ провожу некоторые исследования, но это будет немного по-другому

Как можно отслеживать путь индекса кнопки в ячейке табличного представления?

Есть идеи?

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

Ответы [ 2 ]

3 голосов
/ 01 сентября 2010

Когда вы создаете переключатель, установите цель и действие для нее:

[mySwitch addTarget:self action:@selector(switchToggled:) forControlEvents:UIControlEventValueChanged];

Здесь цель self - это ваша UITableViewController, в которой вам нужно будет реализовать метод (void) switchToggled:(id)sender для обработки управляющего события. Коммутатор автоматически отправит себя методу switchToggled как sender при его переключении. Вот так (изменено из UIButton примера, который вы связали):

- (void)switchToggled:(id)sender {
    UISwitch *theSwitch = (UISwitch *)sender;
    UITableViewCell *cell = (UITableViewCell *)theSwitch.superview;
    UITableView *tableView = (UITableView *)cell.superview;
    NSIndexPath *indexPath = [tableView indexPathForCell:cell];

    if(theSwitch.on) {
      // switch turned on
    }
    else {
      // switch turned off
    }
}
1 голос
/ 01 сентября 2010

Когда кнопка создана

button.tag = [indexPath row]

Когда выбрана кнопка, вытяните строку из тега

int myRow = [(UIButton *)sender tag];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...