Форум программистов, компьютерный форум, киберфорум
Наши страницы
Objective-C
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
Pro2005
44 / 44 / 3
Регистрация: 27.05.2013
Сообщений: 163
#1

Autolayout and constraints - некорректное расположение контроллов на разных экранах

16.07.2014, 12:14. Просмотров 1402. Ответов 7

Подскажите пожалуйста, есть к примеру вот такая вьюшка

Autolayout and constraints - некорректное расположение контроллов на разных экранах


Т.е на вьюшке имеем к примеру 4 кнопки... суть в том, что когда запускаем на 3.5 дюймовом экране, расстояние между кнопками (синии стрелки) - должно пропорцианольно уменьшиться. Но расстояния от первой и последней кнопки до границ экрана - должно быть постоянным.
Что-то я упуская и не понимаю... такое вообще возможно ?)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.07.2014, 12:14
Ответы с готовыми решениями:

Panel и тег <BR />: расположение контроллов вертикально
Есть панелька на ней создаются динамически создаются 3 label и 3 TextBox ...

Размер картинки на разных экранах
Добрый день. Не понимаю как сделать. Есть ImageView, например, максимальная ее...

Лейбл с радиокнопками на разных экранах
Добрый вечер. Есть маленькая проблема с версткой. Для описания проблемы взял...

Координаты курсора на разных экранах
Фон развернут на весь экран, соответственно на разных экранах будут разные...

Отображение в браузерах и на разных экранах
Есть сайт сверстан мной - https://piratelifepf.000webhostapp.com/, только вот...

7
zulkis
684 / 611 / 43
Регистрация: 13.01.2011
Сообщений: 1,724
16.07.2014, 12:44 #2
Pro2005, красные ставите Horizontal Space Constraint с Relation = "Equal".
Синие ставите с Relation = "Less Than or Equal". Также можно убавить у синих приоритет(поставить например на единицу меньше чем у красных)
Тогда у красных будет приоритет обработки.
0
Pro2005
44 / 44 / 3
Регистрация: 27.05.2013
Сообщений: 163
16.07.2014, 13:14  [ТС] #3
Хм... я это вроде все понял, и так и делаю... Но наверно что-то упускаю

Autolayout and constraints - некорректное расположение контроллов на разных экранах


Результат вот такой

Autolayout and constraints - некорректное расположение контроллов на разных экранах
0
zulkis
684 / 611 / 43
Регистрация: 13.01.2011
Сообщений: 1,724
16.07.2014, 14:00 #4
Pro2005, да, все правильно. Расстояние-то между кнопками маленькое.
Можно решить добавлением "Greater Than Or Equal" со значением "1" туда же, куда и "Less Than Or Equal", создав тем самым макс. и мин. значения.
И убавить у красных стрелок Priority (Ибо если оно будет больше или равным остальным - расстояние между кнопками просто "задавится", либо height кнопок начнет уменьшаться, если height константой не установлен)

Как-то так:
Autolayout and constraints - некорректное расположение контроллов на разных экранах
1
Pro2005
44 / 44 / 3
Регистрация: 27.05.2013
Сообщений: 163
16.07.2014, 16:58  [ТС] #5
Угу... спасибо решилось добавлением двух constraints между с кнопками. "Less than or equal" and "Greater than or equal"...
Autolayout and constraints - некорректное расположение контроллов на разных экранах
0
Pro2005
44 / 44 / 3
Регистрация: 27.05.2013
Сообщений: 163
24.07.2014, 18:15  [ТС] #6
Подскажите пожалуйста ... почему в xib я не могу выставить выравнивание как в storyboard-е

Autolayout and constraints - некорректное расположение контроллов на разных экранах


???
0
noname_club
105 / 96 / 12
Регистрация: 01.05.2013
Сообщений: 603
25.07.2014, 11:50 #7
по мне так можно отказаться от autolayout
для этого убрать галочку use autolayout, а все что не может быть выровнено через autoresizing Mask выравнивать программно.

ИМХО.
0
Pro2005
44 / 44 / 3
Регистрация: 27.05.2013
Сообщений: 163
25.07.2014, 15:41  [ТС] #8
Цитата Сообщение от noname_club Посмотреть сообщение
ля этого убрать галочку use autolayout, а все что не может быть выровнено через autoresizing Mask выравнивать программно.
До этого так и делалось. Но только из-за того, что нужна была совместимость с iOS5. С iOS5 уже потихоньку прощаемся, и надо бы осваивать autolayout. Не зря ведь его добавили)
0
25.07.2014, 15:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.07.2014, 15:41

Одинаковый размер форм на разных экранах
Как сделать так, чтобы форма имела фиксированные высоту и ширину на разного...

Неправильное отображение скрипта на разных экранах
Имеются 2скрипта:colorbox(увеличивающее изображение по середине с прозрачным...

Перенос строк в нужных местах на разных экранах
Как сделать, чтобы строчки текста, к примеру на Iphone 6, переносилиcь в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru