Множественный выбор в TableView Swift - PullRequest
0 голосов
/ 14 мая 2018

Когда я пытаюсь отредактировать и Выберите ячейку Tableview Итак, она выбирает ячейку, но проблема в том, что в моей ячейке доступно одно представление. Таким образом, когда его подсветка ячейки, то Представление красного цвета исчезает из ячейки.

Так как я покажу красный цвет просмотра после выбора tableView

Ссылка на этот код https://github.com/anupgupta-arg/iOS-Swift-tableViewSelect

enter image description here

Теперь My Cell Design

enter image description here

Ответы [ 4 ]

0 голосов
/ 15 мая 2018

Я рекомендую использовать UIImageView со сплошным красным цветным изображением вместо UIView . Смотрите мой пример кода. Я не сделал много в коде, все достигается с помощью раскадровки. Пожалуйста, проверьте связанные изображения, чтобы понять решение.

Прототип Cell Имеет метку, UIImage и UIView с красным цветом фона. UIImage, который я установил для некоторого изображения со сплошным цветом.

При этом мой вид таблицы выглядит так: TableView без выбора муравья

[TableView with selection] Вы можете видеть, что выбор ячейки не влияет на UIImageView и UIView влияет. 3

0 голосов
/ 14 мая 2018

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

Objective-C:

UIView *bgColorView = [[UIView alloc] init];
bgColorView.backgroundColor = [UIColor redColor];
[cell setSelectedBackgroundView:bgColorView];

Swift:

let bgColorView = UIView()
bgColorView.backgroundColor = UIColor.red
cell.selectedBackgroundView = bgColorView
0 голосов
/ 15 мая 2018

Используйте этот метод в SimpleTableViewCell:

override func setSelected(_ selected: Bool, animated: Bool) {
          super.setSelected(selected, animated: animated)
        centerView.backgroundColor = .red
      }

Когда ячейка выбрана в виде таблицы, она меняет цвет фона всех своих подпредставлений на прозрачный, поэтому ваш красный цвет меняется каждый раз.

Это просто сбрасывает его цвет каждый раз, когда это происходит.

Используйте это вместо, если у вас есть несколько представлений:

override func setSelected(_ selected: Bool, animated: Bool) {
          contentView.backgroundColor = .gray
      }

Это не вызывает супер, поэтому проблемы не возникают.не возникает.

0 голосов
/ 14 мая 2018

Используйте multipleSelectedBackgroundView для выбранного состояния и поместите другой вид (красный) в contentView.

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