#swift #uitableview #uiscrollview #uinavigationcontroller
#swift #uitableview #uiscrollview #uinavigationcontroller
Вопрос:
У меня есть UIViewController с вертикальным UIScrollView, который имеет UIView в качестве контейнера для всех его подвидов. Вот мои ограничения ScrollView и contentView:
scrollView.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
scrollView.widthAnchor.constraint(equalTo: view.safeAreaLayoutGuide.widthAnchor).isActive = true
scrollView.topAnchor.constraint(equalTo: view.topAnchor).isActive = true
scrollView.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true
contentView.centerXAnchor.constraint(equalTo: scrollView.centerXAnchor).isActive = true
contentView.widthAnchor.constraint(equalTo: scrollView.widthAnchor).isActive = true
contentView.topAnchor.constraint(equalTo: scrollView.topAnchor).isActive = true
contentView.bottomAnchor.constraint(equalTo: scrollView.bottomAnchor).isActive = true
Когда я прокручиваю вниз, моя панель навигации становится меньше, как и должно быть:
Затем я нажимаю на tableviewcell, перехожу к DetailVC и обратно. Вот где возникает проблема. Каким-то образом моя панель навигации становится большой, пока я не прокручиваю ее в любом направлении, а затем она переходит в нормальное состояние. Почему это происходит и в чем может быть причина?
Вот суть моего кода ViewController
Спасибо!
Ответ №1:
Я настроил свои ограничения и исправил эту проблему.
Новые ограничения:
scrollView.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
scrollView.widthAnchor.constraint(equalTo: view.safeAreaLayoutGuide.widthAnchor).isActive = true
scrollView.topAnchor.constraint(equalTo: view.topAnchor).isActive = true
scrollView.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true
contentView.topAnchor.constraint(equalTo: scrollView.topAnchor).isActive = true
contentView.leadingAnchor.constraint(equalTo: scrollView.leadingAnchor).isActive = true
contentView.trailingAnchor.constraint(equalTo: scrollView.trailingAnchor).isActive = true
contentView.bottomAnchor.constraint(equalTo: scrollView.bottomAnchor).isActive = true
// contentView.heightAnchor.constraint(equalTo: scrollView.heightAnchor).isActive = would be true if horizontal
contentView.widthAnchor.constraint(equalTo: scrollView.widthAnchor).isActive = true