2015-05-11 5 views
1

У меня есть два вида корня на супервизе.Странное поведение ограничений, iOS8

enter image description here

Все мнения и ограничения я добавил из кода. Вид сверху H: | -0- [view] -0- |. Тот же код vfl имеет вид снизу. Затем сверху вид сверху, сверху вниз, сверху вниз, второй снизу прикреплен к нижней части. Код V: | -0- [topView] -0- [secondView] -0- |.

Второй вид имеет внутреннюю высоту, поэтому высота обоих видов зависит от этого значения. Когда я меняю высоту представления и анимацию layoutIfNeed, все работает отлично для меня. Далее, вид снизу имеет некоторые подвид. Нижняя часть представляет собой простой контейнер вида, а верхняя часть - кнопка. Оба они прикреплены к левому/правому, как H: | -0- [view] -0- |. Вид снизу также имеет внутреннюю высоту, поэтому вертикально они прикреплены как внешние виды, без кнопки (!), Прикрепленной к верхней части супервизора (V: [кнопка] -0- [secondView] -0- |). Второй вид крепится снизу вниз, но когда я оживляющее изменение высоты этого контейнера, его подвиды идут сверху на прошивке 8.

fine bad

Просмотр иерархия

hierarchy

Ограничение :

H:|-0-[topView]-0-| 
H:|-0-[bottomView]-0-| 
V:|-0-[topView]-0-[bottomView(110)]-0-| 

H:|-0-[buttonBackCamera]-0-| 
H:|-0-[grayView]-0-| 
V:[buttonBackCamera]-0-[grayView(85)]-0-| //here is constraint, that MUST attach grayView to bottom. 

Во время отладки, я заметил, t ограничение шляпы прилагается, активно и должно работать, но :(.

Любые мысли об этом?

UPDATE

Я проверил это на прошивке 8.3, все работает отлично тоже.

+0

Что такое 'secondView' в ваших комментариях? Это вид снизу на диаграмме? И являются ли элементы подвид представлений secondView/bottom, или они находятся на одном уровне? Вы видите какие-либо предупреждения ограничения в консоли? – jrturton

+0

Просмотр иерархии - это что-то вроде этого http://monosnap.com/image/kxXIv3pPlmhWLWcIrCsPIBeFIPuVmw –

+0

Нет предупреждений в консоли –

ответ

0

Удостоверьтесь, что вид снизу содержит ограничение от ведущего к супервизу, переход к надзору и нижний к нижнему руководству. И если вы все еще сталкиваетесь с каким-либо вопросом, то идти,

-(void)viewWillLayoutSubviews 
{ 
    [self.view layoutIfneeded]; 
} 
+0

Я уже проверил это. Я попытался отобразить супервизор и нижнее подчинение. В нижнем подвью не было макета после layoutIfNeeded, поэтому я попытался использовать layoutSubviews. Никакого результата. Нижняя подвидная, прикрепленная к нижней части нижнего уровня, не прикреплена к нижнему гиду –

+0

, у вас есть какое-либо ограничение сверху ..? –

+0

Я не понимаю ваш вопрос. Не могли бы вы перефразировать? Вы говорите, какой уровень, какой вид? –

0

Я не думаю, что я получил эту проблему полностью, но я хотел бы предложить вам проверить класс размера, который выбран и класс размера для каждого из включенное ограничение. enter image description here

+0

Классы размера отключены. Все ограничения добавляются из кода. –

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