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

Программирование iOS/iPhone

Войти
Регистрация
Восстановить пароль
 
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,649
Завершенные тесты: 1
#1

Разные устройства/ориентации - Программирование iOS

16.04.2015, 15:21. Просмотров 721. Ответов 11
Метки нет (Все метки)

Здравствуйте. Каким образом реализуются разные разметки UI для разных устройств и ориентаций? Как, к примеру сделать в портретной ориентации два квадрата каждый на половину экрана друг под другом, а в альбомной те же два квадрата, тех же размеров, но уже с лева и справа?
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.04.2015, 15:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Разные устройства/ориентации (Программирование iOS):

AutoLayout и смена ориентации - Программирование iOS
Добрый день! Использую AutoLayout. При повороте экрана все растягивается как надо. Но на элементы нельзя нажать, тоесть не происходят...

Принудительная смена ориентации экрана в iOS 7 - Программирование iOS
Доброго времени суток. Мое приложение спроектировано таким образом, что первый и второй экраны поддерживают только портретную ориентацию,...

Storyboard и корректная отработка смены ориентации (Mono) - Программирование iOS
Здравствуйте. Пишу свой первый проект под iOS в xamarin studio. В проекте есть сториборд и 9 Вьюконтроллеров, для каждого уже прописан...

Создание приложение и устройства к нему - Программирование iOS
Здравствуйте, уважаемые форумчане. У меня есть один вопрос, который может показаться вам смешным, но вы строго не судите, так как я...

Отправка приложением на сервер файлов с устройства - Программирование iOS
Доброго дня! Подскажите, пожалуйста, возможно ли в принципе организовать доступ приложению к каким-то данным пользователя на...

Подключение стороннего устройства через Bluetooth - Программирование iOS
Всем привет! Возникла загвоздка с подключением карманных принтеров к iOS девайсу используя bluetooth. Принтер в порядке, так как...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
zulkis
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
16.04.2015, 21:43 #2
В iOS 8+ для этого есть Size Classes прямо в UIStoryboard.
До iOS 8 нужно пользоваться NSLayoutConstraints и подгонять их в коде.
1
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,649
Завершенные тесты: 1
16.04.2015, 22:24  [ТС] #3
zulkis, можно немножко подробнее? Тыкался по сториборду - ничего подобного не нашел.
0
zulkis
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
17.04.2015, 08:02 #4
cmd + alt + 1 при выбранном файле *.storyboard
Поставьте галочку на Use Size Classes
1
glvrzzz
95 / 71 / 12
Регистрация: 12.12.2012
Сообщений: 214
17.04.2015, 09:02 #5
Size Classes c некоторыми ограничениями работают и на iOS 7
1
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,649
Завершенные тесты: 1
17.04.2015, 09:33  [ТС] #6
zulkis, а как там реализовать вот это:
Цитата Сообщение от Spelcrawler Посмотреть сообщение
Как, к примеру сделать в портретной ориентации два квадрата каждый на половину экрана друг под другом, а в альбомной те же два квадрата, тех же размеров, но уже с лева и справа?
0
HellBoy4eG
7 / 7 / 1
Регистрация: 15.10.2013
Сообщений: 19
17.04.2015, 16:03 #7
Ставишь галочку Use Size Classes

устанавливаешь размер For all layouts (wAny hAny), создаешь 2 квадрата ставишь горизонтально друг с другом, прикручиваешь констрентами к ближайшей стороне, к верху и оставляешь высоту и ширину!

устанавливаешь размер For all iphones in portrait (wCompact hRegular), выравниваешь квадраты по вертикали, удаляешь констренты по левому краю а у другого по правому. Добавляешь к каждому констренты выравнивания по горизонтали по центру!

устанавливаешь размер (wCompact hCompact) корректируешь для отображения в альбомном режиме

Добавлено через 1 минуту
http://habrahabr.ru/post/235181/
1
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,649
Завершенные тесты: 1
17.04.2015, 16:52  [ТС] #8
HellBoy4eG, статью видел. Но что-то мне кажется это полнейшим бредом и извращением. Нет ли другого способа? Вообще не представляю как с этим сторибордом сделать что-то более менее ровное. Ставлю constrains и у меня все исчезает совсем, причем не только та вьюшка к которой я его прицепил - а вообще все. Ну что это за бред? Уже два часа пытаюсь разместить в одном из этих квадратов еще 6 квадратов одного размера по сетке 2х3. Получилось только с помощью контейнеров сделать, но это опять же ерунда какая-то. Даже без учета нужны эти контейнеры там или нет - это раздувает сториборд и там уже легко запутаться. И что самое главное из исходников нифига не понятно что куда тянули, куда тыкали и т.д. Как вы вообще с этим разобрались? Что читали\смотрели?
0
Vorona
Peace 2 all shining faces
668 / 530 / 45
Регистрация: 05.03.2010
Сообщений: 1,283
17.04.2015, 19:03 #9

Не по теме:

проблемы все из-за прослойки между стулом и клавиатурой


разберитесь сначала, как правильно с этим работать, а потом уже жалуйтесь, потому что бред и извращение это пытаться что-то делать в слепую левой ногой, не зная с чем вы работаете и при этом хаять всех и вся
0
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,649
Завершенные тесты: 1
17.04.2015, 19:06  [ТС] #10
Дак я и пытаюсь разобраться. Да только вот документация на эту тему очень скудная. А по поводу прослойки - с андроидом таких проблем не было)
0
Vorona
Peace 2 all shining faces
668 / 530 / 45
Регистрация: 05.03.2010
Сообщений: 1,283
17.04.2015, 19:21 #11
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
https://developer.apple.com/library/...roduction.html
https://developer.apple.com/library/...014436-CH6-SW1
https://developer.apple.com/videos/wwdc/2014/ -> Building Adaptive Apps with UIKit

документации валом и реально она в разы удобней и понятней чем в андроиде, сам работал с андроидом

На самом деле эта штука возможно более гибкая на данный момент чем в Андроиде, я конечно могу ошибаться, но на старой работе ребята с Андроид команды не могли так же гибко сделать верстку как на иОС без всяких вложенных вьюх и тд

проблема может быть в том, что это отличается от андроида, к которому вы привыкли да и все

в любом случае советую для начала разобраться во всяких constraints и auto-layout и будет счастье
1
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,649
Завершенные тесты: 1
17.04.2015, 19:34  [ТС] #12
но на старой работе ребята с Андроид команды не могли так же гибко сделать верстку как на иОС без всяких вложенных вьюх и тд
Возможно в этом и проблема, в андроиде все строиться с помощью различных контейнеров, их там на любой вкус) И я по привычке пытался то же делать в ios. Только допер, что там заточено под другое. В принципе немного начал понимать как оно устроено, спасибо.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.04.2015, 19:34
Привет! Вот еще темы с ответами:

Передача данных по TCP IP (Socket) от устройства к девайсу по вайфай - Программирование iOS
Ищу человека который разбираеться в передаче данных по сокету для iOs устройств , либо очет научиться в этом разбираться Для Android уже...

Адаптация приложения под разные разрешения - Программирование iOS
Здравствуйте, подскажите, пожалуйста, как адаптировать ios приложение в xcode под все разрешения, или киньте сыночку где можно почитать.

Разные цвета у Search Bar и Button - Программирование iOS
Добрый день уважаемые коллеги! Хочу сделать обводку серч бара и заливку соседней кнопки одного цвета, но ни как не входит, разница...

Обнуляется массив при смене ориентации устройства - Программирование Android
Здравствуйте. Суть такова. В активити создается массив из путей к изображениям, которые делаются при помощи камеры устройства. Потом...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
17.04.2015, 19:34
Ответ Создать тему
Опции темы

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