Почему пользовательский вид разделителя в ячейке меняет высоту? - PullRequest
0 голосов
/ 22 марта 2020

У меня есть собственный tableViewCell. И в этой ячейке у меня есть собственный разделитель. Логика c работы должна быть такой:

  1. если выбрать textField в ячейке - изменить цвет и высоту разделителя (от 1 до 2)
  2. если тип text - цвет разделителя и высота не изменяется

Теперь это работает так:

  1. если не добавлено ограничение для высоты для разделителя в .xib - добавлено ограничение для высоты при создании ячейки, но на экране это равно 0
override func awakeFromNib() {
    customSeparator.backgroundColor = .lightGray
    customSeparator.frame.size.height = 1.0
}
если добавлено ограничение для высоты разделителя в .xib - при выборе высоты ячейки изменения разделителя (как ожидалось). Но когда высота текста шрифта меняется на значение, указанное в .xib
func textFieldDidBeginEditing(_ textField: UITextField) {
    customSeparator.backgroundColor = .black
    customSeparator.frame.size.height = 2.0       
}

Итак, почему это происходит, скажите мне, плз

1 Ответ

0 голосов
/ 22 марта 2020

Вам необходимо создать ограничение IBOutlet высоты и изменить его следующим образом:

@IBOutlet weak var customSeparatorHeight: NSLayoutConstraint!

override func awakeFromNib() {
    customSeparator.backgroundColor = .lightGray
    customSeparatorHeight.constant = 1
    self.contentView.layoutIfNeeded()
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...