Форум программистов, компьютерный форум 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. Просмотров 1161. Ответов 7

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

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

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

C++ Builder Одинаковый размер форм на разных экранах
Panel и тег <BR />: расположение контроллов вертикально C# ASP.NET
jQuery Неправильное отображение скрипта на разных экранах
Delphi Некорректное расположение элементов на разном разрешении экрана
Горизонтальное/Вертикальное расположение Objective-C
Работа @property в одном классе в разных методах Objective-C
Visual Basic .NET Некорректное расположение компонентов формы на другом разрешении экрана
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zulkis
 Аватар для 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
 Аватар для 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
 Аватар для noname_club
102 / 90 / 9
Регистрация: 01.05.2013
Сообщений: 577
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 - некорректное расположение контроллов на разных экранах
Еще ссылки по теме:

Координаты курсора на разных экранах C#
Лейбл с радиокнопками на разных экранах HTML, CSS
Android Как обеспечить одинаковый размер картинки на разных экранах Android?
Visual Basic .NET Некорректное расположение компонентов формы на другом ПК
HTML, CSS Перенос строк в нужных местах на разных экранах

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

Или воспользуйтесь поиском по форуму:
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 - некорректное расположение контроллов на разных экранах
Ответ Создать тему
Опции темы

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