Выберите все ячейки в UITableView - PullRequest
14 голосов
/ 06 октября 2009

Каков будет лучший способ выбрать все ячейки таблицы (UITableView), когда пользователь нажимает кнопку на панели инструментов?

Ответы [ 4 ]

29 голосов
/ 25 августа 2011

Вот мой метод обхода таблицы, он хорошо работает.

for (int i = 0; i < [ptableView numberOfSections]; i++) {
    for (int j = 0; j < [ptableView numberOfRowsInSection:i]; j++) {
        NSUInteger ints[2] = {i,j};
        NSIndexPath *indexPath = [NSIndexPath indexPathWithIndexes:ints length:2];
            UITableViewCell *cell = [ptableView cellForRowAtIndexPath:indexPath];
           //Here is your code

    }
}
19 голосов
/ 11 мая 2012

Это может выбрать все строки в табличном представлении:

for (NSInteger s = 0; s < self.tableView.numberOfSections; s++) {
        for (NSInteger r = 0; r < [self.tableView numberOfRowsInSection:s]; r++) {
            [self.tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:r inSection:s]
                                        animated:NO
                                  scrollPosition:UITableViewScrollPositionNone];
        }
    }
8 голосов
/ 06 октября 2009

Вы можете выбрать метод selectRowAtIndexPath представления вызывающей таблицы ячейки:

[menuTable selectRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] animated:NO scrollPosition:UITableViewScrollPositionTop];

Однако вы не можете выбрать несколько ячеек в UITableView. Если вы хотите отображать и обрабатывать состояние включения / выключения ячеек, вы должны использовать ячейку с дополнительным представлением типа UITableViewCellAccessoryCheckmark. (подробности см. в документах)

3 голосов
/ 06 октября 2009

Сам не пробовал, но попробуйте это:

В вашем действии кнопки, переберите indexPath и вызовите его:

for (i = 0; i < [tableView numberOfSections]; i++) {
    for (j = 0; j < [tableView numberOfRowsInSection:i]; j++) {
         indexPath.row = j;
         indexPath.section = i;
         [tableView selectRowAtIndexPath:indexPath animated:animated scrollPosition:scrollPosition];
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...