Выбор UITableView - PullRequest
       3

Выбор UITableView

0 голосов
/ 18 января 2012

У меня есть сгруппированный UITableView, и сейчас, когда я выбираю несколько элементов в этой таблице, он будет выделен синим цветом. Есть ли способ изменить цвет подсветки на галочку?

Ответы [ 3 ]

2 голосов
/ 18 января 2012

Да.Вы должны манипулировать этими свойствами UITableViewCell в tableView:cellForRowAtIndexPath::

// when the cell is first created
cell.selectionStyle = UITableViewCellSelectionStyleNone;

// when configuring the cell (after checking your variable if it is selected)
cell.accessoryType = (selected) ? 
    UITableViewCellAccessoryCheckmark : UITableViewCellAccessoryNone;

Одной из схем может быть переменная, которая содержит выбранный indexPath, или просто число, если у вас только один раздел.Вы также можете получить ссылку на ячейку в tableView:didSelectRowAtIndexPath: и установить ее там, но я обнаружил, что другая схема является более надежной, поскольку вам необходимо снять флажок в ранее выбранной ячейке.

0 голосов
/ 18 июня 2012

Его недокументированная функция (не уверен, что Apple примет), но она работает:

- (void)viewDidLoad
{
    [super viewDidLoad];    

    [self.tableView setValue:[UIColor blueColor] forKey:@"multiselectCheckmarkColor"];       
}
0 голосов
/ 18 января 2012

Вы можете вручную установить cell.selectedBackgroundView.backgroundColor.но вам нужно проверить, проверено это или нет в -tableView: cellForIndexPath.

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