У меня в настоящее время UIView (мы назовем это viewB
), добавленный к родительскому UIScrollView, который мы назовем scrollView
. Это работает, как и ожидалось, с добавлением viewB
следующим образом;
viewB.topAnchor.constraint(equalTo: scrollView.topAnchor).isActive = true
viewB.leadingAnchor.constraint(equalTo: scrollView.leadingAnchor).isActive = true
viewB.trailingAnchor.constraint(equalTo: scrollView.trailingAnchor).isActive = true
viewB.bottomAnchor.constraint(equalTo: scrollView.bottomAnchor).isActive = true
viewB
выше scrollView
, поэтому его можно прокручивать по вертикали.
В какой-то момент в моем приложении пользователь может нажать кнопку, которая добавляет больше контента к viewB
, следовательно, изменяя высоту viewB
. При нажатии этой кнопки scrollView
, похоже, не знает, чтобы обновить какое-либо из своих ограничений, а viewB
заканчивает тем, что меняет позиции и не появляется, как ожидалось.
Какие методы я бы вызвал (и для каких представлений), чтобы AutoLayout сообщал scrollView
, что viewB
изменил размеры? Или было бы эффективнее удалить viewB
из scrollView
, а затем повторно добавить с новыми ограничениями?