Форум программистов, компьютерный форум CyberForum.ru

Objective-C

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
Pro2005
44 / 44 / 3
Регистрация: 27.05.2013
Сообщений: 163
#1

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

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

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

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

Т.е на вьюшке имеем к примеру 4 кнопки... суть в том, что когда запускаем на 3.5 дюймовом экране, расстояние между кнопками (синии стрелки) - должно пропорцианольно уменьшиться. Но расстояния от первой и последней кнопки до границ экрана - должно быть постоянным.
Что-то я упуская и не понимаю... такое вообще возможно ?)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.07.2014, 12:14     Autolayout and constraints - некорректное расположение контроллов на разных экранах
Посмотрите здесь:
Горизонтальное/Вертикальное расположение Objective-C
Panel и тег <BR />: расположение контроллов вертикально C# ASP.NET
Лейбл с радиокнопками на разных экранах HTML, CSS
Координаты курсора на разных экранах C#
jQuery Неправильное отображение скрипта на разных экранах
C++ Builder Одинаковый размер форм на разных экранах
HTML, CSS Перенос строк в нужных местах на разных экранах
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
16.07.2014, 12:44     Autolayout and constraints - некорректное расположение контроллов на разных экранах #2
Pro2005, красные ставите Horizontal Space Constraint с Relation = "Equal".
Синие ставите с Relation = "Less Than or Equal". Также можно убавить у синих приоритет(поставить например на единицу меньше чем у красных)
Тогда у красных будет приоритет обработки.
Pro2005
44 / 44 / 3
Регистрация: 27.05.2013
Сообщений: 163
16.07.2014, 13:14  [ТС]     Autolayout and constraints - некорректное расположение контроллов на разных экранах #3
Хм... я это вроде все понял, и так и делаю... Но наверно что-то упускаю

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

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

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

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

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

???
noname_club
102 / 90 / 9
Регистрация: 01.05.2013
Сообщений: 583
25.07.2014, 11:50     Autolayout and constraints - некорректное расположение контроллов на разных экранах #7
по мне так можно отказаться от autolayout
для этого убрать галочку use autolayout, а все что не может быть выровнено через autoresizing Mask выравнивать программно.

ИМХО.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.07.2014, 15:41     Autolayout and constraints - некорректное расположение контроллов на разных экранах
Еще ссылки по теме:
Android Как обеспечить одинаковый размер картинки на разных экранах Android?
Android Admob некорректное расположение банера
Visual Basic .NET Некорректное расположение компонентов формы на другом ПК
Delphi Некорректное расположение элементов на разном разрешении экрана
Visual Basic .NET Некорректное расположение компонентов формы на другом разрешении экрана

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

Или воспользуйтесь поиском по форуму:
Pro2005
44 / 44 / 3
Регистрация: 27.05.2013
Сообщений: 163
25.07.2014, 15:41  [ТС]     Autolayout and constraints - некорректное расположение контроллов на разных экранах #8
Цитата Сообщение от noname_club Посмотреть сообщение
ля этого убрать галочку use autolayout, а все что не может быть выровнено через autoresizing Mask выравнивать программно.
До этого так и делалось. Но только из-за того, что нужна была совместимость с iOS5. С iOS5 уже потихоньку прощаемся, и надо бы осваивать autolayout. Не зря ведь его добавили)
Yandex
Объявления
25.07.2014, 15:41     Autolayout and constraints - некорректное расположение контроллов на разных экранах
Ответ Создать тему
Опции темы

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