2012-06-29 2 views
1

У меня есть UIScrollView, добавленный и размещенный через Interface Builder, как часть контроллера вида в стеке контроллера навигации. Когда я вытаскиваю новый контроллер представления в стек, затем поп этот новый контроллер представления, UIScrollView в исходном представлении дрейфовал вверх ровно на 52 пикселя.UIScrollView необъяснимо перемещается из положения

Это ТОЛЬКО случается на устройстве, а не в симуляторе.

Любые идеи, что может быть причиной этого? Я могу исправить это ретроактивно с призывами переустановки в viewWillAppear/viewWillAppear, но по некоторым причинам в очень редких случаях даже это не сработает, поэтому я действительно хотел бы исправить первопричину. Благодаря!

Примечание в ответ на комментарии: Я скрываю навигационную панель в контроллере с нажатым представлением, но не в исходном контроллере представления. Также обратите внимание, что на исходном контроллере просмотра есть несколько других элементов UIView, но это только UIScrollView, который выходит из положения.

Обновление: не скрывая навигацию в контроллере с толкаемым представлением, не влияет на проблему UIScrollView, но спасибо за предложение, комментаторы.

+0

Вы скрываете навигационную панель? – mkral

+0

Является ли панель навигации контроллера навигации видом с видом прокрутки? Если нет, добавление и удаление этой панели инструментов может привести к смещению вида прокрутки. –

+0

mkral/Конор - оказывается, вы были правы; Я постоянно скрывал навигационную панель на контроллере исходного вида, и это - почему? - вызывал странное повторное позиционирование в последующих толках/попках из стека контроллера навигации. Я исправил проблему, установив маску авторазмера на UIScrollView на фиксированную верхнюю стойку. Поскольку вы оба одновременно прокомментировали и запустили решение, в зависимости от того, кто из вас сначала поместит ваш комментарий в ответ, я отмечу как ответ. Еще раз спасибо. – beaudrykock

ответ

0

Исправление: если навигационная панель скрыта на контроллере представления, и вы не хотите, чтобы какие-либо подвидности (которые вы добавили через Interface Builder) автоматически переставляли в неожиданные способы, убедитесь, что распорки на подзонах устанавливается фиксированным.

Смежные вопросы