Почему Text View не подчиняется constraint?

constraints
constaraints
xcode

#1

Привет всем. Делаю сложный макет, столкнулся с тем, что TextView как-то странно себя ведет с констрэйнтами. Например, беру из библиотеки button, или label, или textfield, перетаскиваю на экран. Затем с помощью Align указываю, что надо выравнять их по центру по горизонтали и по вертикали. Все нормально, они становятся в центр. Делаю то же самое с Text View, он ни в какую. Остается на том же месте, где я его оставил - см скрин. Причем в Инспекторе размеров у него Align стоит Center.

Почему так происходит и как с этим бороться?


#2

Нужно задать размеры ( ширина и высота )

screenshot


#3

Спасибо за подсказку, действительно, если отметить высоту и ширину, то Text View смещается в центр. Но какая здесь логика, почему надо именно фиксировать высоту и ширину, и почему другие контролы этого не требуют?


#4

Потому что этот элемент скроллится. Вы попробуйте выставить UIScrollView :slight_smile:


#5

В смысле выставить? Ведь он в Text View должен быть уже встроенный. И потом, как это может влиять на позиционирование, это ведь внутренние перемещения внутри объекта Text Field, а позиционирование - это связи с внешними объектами?


#6

Речь про то, что UITextView имеет встроенный UIScrollView поэтому тут есть дополнительные “танцы”


#7

попробовал выставить констрэйнты на скрол вью, та же ситуация, что и с текст вью. Т.е. пока не зафиксируешь размеры элемента (высоту и/или ширину), внешние констрэйнты на него не действуют.

Но если я фиксирую высоту и ширину визуального объекта, то как тогда сделать так, чтобы при увеличении/уменьшении размера экрана на разных девайсах пропорционально увеличивался/уменьшался бы и размер визуального объекта, в данном случае текст вью или скрол вью?