2014-11-14 2 views
1

После обновления устройства до iOS 8 возникают следующие проблемы с компоновкой.Автоматическое расположение UIViewController в iOS8

У меня есть UITabBarController, который содержит два UITableViewController, встроенных в UINavigationController. Это основной вид.

Также существует несколько UIViewControllers, разработанных в StoryBoard (не встроенных в UINavigationViewControllers). Это вторичные виды. Все они имеют «Скрыть нижнюю планку при нажатии», установленную в положение «ДА». Ограничения заданы для определения макета.

Все вторичные взгляды показаны: UIStoryboard* sb = [UIStoryboard storyboardWithName:STORYBOARD_NAME bundle:nil]; UIViewController* secondaryView = [sb instantiateViewControllerWithIdentifier:_name]; [navigationController pushViewController:secondaryView animated:YES];

Все отлично работает на iOS7. Но iOS8 есть некоторые проблемы, когда появляется вторичный вид контроллера:

  1. Все прижаты к нижнему UIViews показаны на неправильных места на мгновение, а затем «прыжок», чтобы исправить место. Похоже, что первая позиция вычисляется, включая нижнюю планку (которая скрыта из-за «Hide on Push»)
  2. Если в качестве подсмотра есть UITableView, верхние приподнятые subviews показывают на некотором месте, а затем «прыгают», чтобы исправить место. Похоже, что первая позиция рассчитывается не включая размер навигационной панели. Если я удалю UITableView из контроллера - все работает нормально (за исключением с.1)

Пробовал задавать Имитированные показатели для вторичных просмотров - не помогло.

Эти «прыжки» действительно раздражают. По достоинству оценят любые советы.

ответ

0

У меня была аналогичная проблема с прыжками при скрытии панели вкладок с раскадровки.
Удостоверьтесь, что ваши нижние подвидны прикреплены к супервизу, а не к нижней границе.

Вы должны это сделать из menu - Editor - Pin - Bottom Space to Superview, потому что Auto Layout меню в Interface Builder булавок Bottom Layout Constraint по умолчанию.

+0

thx, проблема действительно была с булавкой, но я также удалил UITabBarController и добавил просто UIViewController с UITabbar –

0

Насколько я испытал iOS 8, проблема в контроллере таблеток, смешанная с контроллером навигационной панели. Удаление одного из них заставит его снова работать.

+0

Спасибо за ответ, но мне нужно обоим. –

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