Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование iOS/iPhone
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
smth
179 / 48 / 6
Регистрация: 23.06.2011
Сообщений: 248
#1

Auto layout после анимации и трансформации

26.03.2015, 17:34. Просмотров 728. Ответов 1

Добрый день! У меня возник вопрос относительно применения constraints после анимации с трансформацией:

Проведу аналогию с вебом: пусть у меня есть три квадрата (A, B, C) друг на другом. Я запускаю скрипт, который за секунду изменяет высоту B до нуля, в это время квадрат C подтягивается к A, не отрываясь от нижней границы B. Потому что в верстке "сказано", что C всегда прилеплен снизу к B.

Примерно такое же поведение я ожидал увидеть и с Auto Layout, но ошибся: у меня есть View, TabBar, SubView (внутри View) и label (внутри subView). У SubView заданы constraints 0 (top to View) , -16 (leading to View), -16 (trailing to View), 8 (bottom to TabBar). У label только привязка к левой и нижней сторонам subView по 8. Я убираю tabBar (вниз c поворотом на 90 градусов), увеличиваю размер subView и ожидаю, что label автоматически потянется за ним (ведь у него привязка 8 пикселей относительно нижней части subView). Однако, label остается на месте и я не могу понять, почему так происходит.

Везде советуют делать reference на нужный constraint, в коде изменять его значение, после чего делать layoutIfNeeded. Да, это работает, но что, если у меня множество элементов и у каждого должны меняться сразу несколько constraint'ов? Неужели нет какого-то более элегантного решения? Отдельно, я просто не могу осознать мозгом, почему 8-пиксельная привязка вдруг отменяется и, фактически, становится 49+8 пикселей?

Да, еще я не могу (пока) понять, что за странности происходят, если после первой анимации изменить оринтацию.

Тестовй проект во вложении (XCode 6).

Благодарю за потраченное время!
0
Вложения
Тип файла: zip ShowHideTabBar.zip (61.2 Кб, 4 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.03.2015, 17:34
Ответы с готовыми решениями:

Auto layout. Как настроить Constrains для данного случая?
Как настроить Constraints для данного случая? Хочу чтобы UIImageView...

После анимации открывать другой layout
необходимо, чтобы после анимации открывался другой layout import...

Некорректно работают функции Auto-Tone, Auto contrast, Auto color
Не корректно работают функции Auto-Tone, Auto contrast, Auto color. Вот пример...

Ошибка при открытии xls-файла после xslt-трансформации
Здравствуйте. После трансформации при открытии 2007-ым экселем возникает...

QWidget resize to layout, после SetFixedSize
Собственно как его(внутренний виджет) заставить после задания максимальной...

1
Victorianec
21 / 21 / 6
Регистрация: 09.01.2014
Сообщений: 118
31.03.2015, 09:30 #2
Перед выполнением анимации для всех view, которые должны изменить свои позиции напишите
Objective-C
1
myView.translateAutoresizingMaskIntoConstraints = YES;
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.03.2015, 09:30

Анимированный дизайн смены Layout или просто выдвигаемый layout
Ну, думаю тут и так всё понятно. Я просто не знаю, какие ключевые слова вводить...

Не хочет работать в layout, но включается в layout-land
доброе утро ! пишу первое приложение. обычный мейн.хмель выглядит вот так :...

At android.widget.LinearLayout.setChildFrame Layout в Layout-те
Нужен совет бывалых. У меня есть активити которое запускается с мейн активити,...


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

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

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