2017-01-26 2 views
2

У меня возникли проблемы с тем, чтобы кнопки всегда оставались на расстоянии 50 точек, независимо от размера экрана. Я могу получить у них правильные ведущие и задние контуры, но они сжимаются по высоте в зависимости от размера экрана. например:Держите кнопки одинаковой высоты для всех просмотров для iOS

iPhone SE screen

iPhone 6s plus screen

iPhone 6 screen

Мои ограничения настроены так, что все кнопки имеют одинаковую ширину и высоту в 599 х 50 и 20pts от каждого края, не ограничивая к краям , Любая помощь/направление будет отличной. Благодаря!

+0

Вы пробовали повышать приоритет высоты ограничений на макс? –

+0

Я новичок в xcode; Это установило бы их до 1000? Да, они есть. – GrantW

+0

вы не установили ограничение HEIGHT, если вы добавили фиксированное ограничение высоты к любой из ваших кнопок, они останутся постоянными. –

ответ

2

Перейти к каждой кнопке и установить ограничение по высоте на 50 пунктов. Это должно решить вашу проблему. Если нет, то вы могли бы попробовать это в коде:

override viewDidAppear(_ animated: Bool) { 
    super.viewDidAppear(animated) 

    NSLayoutConstraints.activate([ 
     <BUTTON>.heightAnchor.constrain(equalToConstant: 50) 
    ]) 
} 
+0

Пришлось установить их индивидуально. Не знаете, почему это сработало над тем, чтобы установить их на равные высоты? – GrantW

+0

@GrantW Если бы я сделал предположение, то вы бы установили их для всех с одинаковой высотой, но не установили высоту, поэтому кнопкам была дана динамическая высота, но высота для всех кнопок мы одинаковы. –

2

Перейти к кнопке и писать код в противном случае у вас есть еще один вариант, установив его через autolayout на раскадровку или файл XIb.

Вы также можете проверить видео, возможно, это поможет вам.

https://youtu.be/SyDDw1V9cU4

+0

Это было здорово! Я очень ценю, что вы делаете это видео. Я многому научился у него. – GrantW

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