Итак, моя проблема связана с автоматической компоновкой и нижним макетом.
Здесь дизайн приложения:
UITabBarController
^ - Tab1: NavigationController с VC1 как root
^ - VC2 сдвигается и скрывает панель вкладок (полный экран, верхняя компоновка находится под навигационной панелью, нижний макет должен быть самым низким пикселем).
Когда VC2 нажат, нижнее руководство по макете составляет 49 точек в течение небольшого промежутка времени, а затем оно 0.
В течение этого времени мои подсмотры, которые ограничены этим нижним направляющим, расположены неправильно.
Когда руководство правильно установлено на 0 (самим навигационным контроллером, у меня нет кода, касающегося этого), позиции subviews тогда идеальны.
Это не происходит в iOS 7.x(приложение поддерживает 7.0 +)... Я почти уверен, что ошибка iOS 8 и я искал обходной путь, но я не мог найти что-то, что исправляет это.
Я попытался решить проблему, вызвав представление диспетчеров навигации в макете (Will/Did) LayoutSubviews, но это не помогло.
Я видел этот пост, но предлагаемое решение не работает. Представление VC2 модально решает проблему, но это неприемлемо.
- Здесь отображается видео, показывающее проблему
- И я создал здесь небольшой проект, содержащий эту ошибку.
Заранее благодарим за помощь, сообщите мне, если вам нужно больше объяснений