Я использую Xcode7.3.1.My ViewController содержит структуру как UIScrollview
->UIView
->UIScrollview
. Я использую автоматический макет для этих view.I пытался напечатать мой внутренний scrollview кадр в viewDidLayoutSubviews
, но я не получаю точный frame.In xib часть viewController не показывает никаких ошибок для autoLayout. Пожалуйста, помогите мне в решении этой проблемы?Неправильная рамка UIScrollView в viewDidLayoutSubviews
0
A
ответ
0
Я понимаю, что это довольно старый вопрос, но я просто столкнулся с этой проблемой и нашел (взломанное) решение. Похоже, что это ошибка в SDK. Случается, что содержимое прокрутки не выкладывается до viewDidLayoutSubviews
, как и следовало ожидать. Поэтому мое решение - заставить его.
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
scrollView.setNeedsLayout()
scrollView.layoutIfNeeded()
// now scroll view content should laid out as expected
}
На самом деле '' viewDidLayoutSubviews называется более чем один раз ... так что вы, возможно, проверили кадр, когда первый раз дозвонился .. это лучше, если вы переносите свой код оттуда 'viewDidAppear', здесь он будет вызван один раз, и кадр будет таким же, как вы ожидали –
его не работает – IKKA
Тогда это должна быть проблема с вашими ограничениями автоопределения. –