У меня есть UISearchBar. Когда я выбираю ячейку, я бы хотел, чтобы вся ячейка имела [UIColor grayColor];iOS: Цвет фона - UITableView и аксессуар имеют одинаковый цвет фона
Приведенный ниже код содержимого отображает серый цвет; Однако, на фоне accessoryType цвет показывает, как синий:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [self.searchDisplayController.searchResultsTableView cellForRowAtIndexPath:indexPath];
cell.contentView.backgroundColor = [UIColor grayColor];
if (self.lastSelected && (self.lastSelected.row == indexPath.row))
{
cell.accessoryType = UITableViewCellAccessoryNone;
[cell setSelected:NO animated:TRUE];
self.lastSelected = nil;
} else {
cell.accessoryType = UITableViewCellAccessoryCheckmark;
cell.accessoryView.backgroundColor = [UIColor grayColor]; // Not working
[cell setSelected:TRUE animated:TRUE];
UITableViewCell *old = [self.searchDisplayController.searchResultsTableView cellForRowAtIndexPath:self.lastSelected];
old.accessoryType = UITableViewCellAccessoryNone;
[old setSelected:NO animated:TRUE];
self.lastSelected = indexPath;
}
Как сделать синий появляться также как [UIColor grayColor]?
Благодарим вас за подробное объяснение. Хотя я нашел более легкий ответ: [cell setSelectionStyle: UITableViewCellSelectionStyleGray]; который работал на мое дело, я предполагаю, что большинство людей, вероятно, согласятся с вашим ответом. Если вы также можете включить код для отслеживания выбранной ячейки, я хотел бы отметить ваш ответ как правильный. – user1107173
Правильно, я предполагал, что вы хотите, чтобы ячейка была нарисована с помощью пользовательского цвета, но, как вы указали на серый цвет '[cell setSelectionStyle: UITableViewCellSelectionStyleGray];' работает также :-) – andreagiavatto
Хотя вопрос был в выборе ячейки, У меня была проблема с дополнительным представлением много раз! Чтобы обойти это, я подклассифицировал и нарисовал похожий шеврон. Это объяснение, а также удивительная диаграмма, помогли мне провести БОЛЬШОЕ время. +1 конечно. Спасибо вам @ andreagiavatto! – Thawe