Как разделить экран iphone на пропорцию четырех разных UIView (относительно высоты экрана), используя пропорциональное распределение IOS UIstackview

Как я могу разделить высоту экрана iphone на 4 разных UIView с высотой 0,2 * screenHeight, 0,3 * screenHeight, 0,3 * screenHeight и 0,2 * screenHeight соответственно. для этого я использую stackview с ограничениями 0 для верхнего, нижнего, конечного и ведущего, распределение пропорционально. но поскольку я делаю одинаковую высоту для представлений и устанавливаю множитель в необходимое значение, как упоминалось выше, это дает мне ошибку, говорящую о том, что ось y UIViews не установлена. Как я могу разрешить это скриншот

скриншот ошибки


person Feroz Siddiqui    schedule 25.10.2017    source источник
comment
Что дает вам ошибку? Создатель интерфейсов? или?   -  person Ladislav    schedule 25.10.2017
comment
обновил вопрос со скриншотом   -  person Feroz Siddiqui    schedule 25.10.2017
comment
Вы можете заархивировать проект и загрузить его на диск Google или что-то еще, и я могу вам помочь, но я никак не могу помочь решить это здесь, у вас слишком много ограничений, которые конфликтуют.   -  person Ladislav    schedule 25.10.2017
comment
github.com/Feroz-Istar/viksitIOSApp.git это ссылка, а файл LoginStoryboard название   -  person Feroz Siddiqui    schedule 25.10.2017
comment
Я только что добавил новый запрос на вытягивание, и вы можете просмотреть и объединить   -  person Ladislav    schedule 25.10.2017
comment
Дайте мне знать, если это то, что вы хотели :)   -  person Ladislav    schedule 25.10.2017
comment
@Ladislav огромное спасибо за работу, мне нужно рассчитать высоту от основного обзора/безопасной зоны.   -  person Feroz Siddiqui    schedule 25.10.2017


Ответы (1)


Установите верхние, левые, нижние, правые ограничения stackview на 0.

Установите распределение стека для заполнения.

Установите интервал просмотра стека равным 5

Для view1 с высотой 0,2 установите следующие ограничения

  • Равная высота для представления стека; Постоянная: -3,75; Множитель: 0,2
  • Равная высота для просмотра4

Для view2 с высотой 0,3 установите ограничение ниже

  • Равная высота для представления стека; Постоянная: -3,75; Множитель: 0,3

Мы использовали 15 пикселей для интервала. Итак, нам нужно разделить эти 15 пикселей поровну на все 4 вида, т. е. 15/4 = 3,75.

Ниже приведена ссылка для решения

https://www.dropbox.com/s/nudo593mjhsxmn4/viksitIOSApp-master_Solved.zip?dl=0

person Priya    schedule 25.10.2017
comment
я следовал вашим шагам, но когда я устанавливаю высоту вида 2, равную высоте вида 3, это дает конфликты ограничений на ограничения высоты всех видов - person Feroz Siddiqui; 25.10.2017
comment
если я удалю вид 4 или вид 3 высоты, тогда я не получаю конфликты ограничений - person Feroz Siddiqui; 25.10.2017
comment
Дайте одинаковое ограничение высоты либо для вида 1 и вида 4, либо для вида 2 и вида 3. Не давайте 2 одинаковых ограничения высоты - person Priya; 25.10.2017
comment
да, но что произойдет с видом, высота которого не указана, он возьмет. оставшаяся и ожидаемая высота - person Feroz Siddiqui; 25.10.2017
comment
Мы устанавливаем view1 и view4 одинаковой высоты и устанавливаем view1 height = 0,2, поэтому общее пространство, занимаемое обоими представлениями, будет 0,4. Теперь мы устанавливаем View2 height = 0,3, так что теперь оставшееся пространство для view3 равно 0,3. Причина, по которой вы получаете сообщение об ошибке при установке обоих ограничений по высоте, заключается в том, что мы удалили 15 пикселей, чтобы отрегулировать все остальные виды в оставшемся пространстве. Значение высоты любого одного вида может отличаться на незначительное значение. - person Priya; 25.10.2017