Расширение UIView с автоматическим ограничением макета не работает должным образомIOS

Программируем под IOS
Anonymous
Расширение UIView с автоматическим ограничением макета не работает должным образом

Сообщение Anonymous »

У меня есть собственный класс UIView с именем UpperInformationUIView, и я пытаюсь развернуть и свернуть его в зависимости от разных состояний (по умолчанию, сжатый и развернутый). Функция свертывания, похоже, работает нормально, но при попытке развернуть представление возникла проблема.
Вот мой фрагмент кода:

Код: Выделить всё

private func expandView() {
switch viewHeightState {
case .defaulted:
viewHeightConstraint.constant = maxHeight
viewHeightState = .expanded
case .shrinked:
viewHeightConstraint.constant = defaultHeight
viewHeightState = .defaulted
case .expanded:
return // Already expanded
}

UIView.animate(withDuration: 2) {
self.layoutIfNeeded()
}
}

Я хочу, чтобы представление расширялось от текущего состояния до maxHeight или defaultHeight, в зависимости от текущего состояния. Но центральное положение представления сначала перемещается вниз, а затем оно растягивается по вертикали, а не только расширяется вниз, как предполагалось.
Я также установил ограничение верхнего пространства на 0 в раскадровку, но проблема остается.
Может ли кто-нибудь помочь мне найти то, что мне не хватает или что идет не так? Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/768 ... g-properly

Вернуться в «IOS»