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

Auto layout после анимации и трансформации - Программирование iOS

26.03.2015, 17:34. Просмотров 714. Ответов 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).

Благодарю за потраченное время!
http://www.cyberforum.ru/objective-c/thread2040465.html
0
Вложения
Тип файла: zip ShowHideTabBar.zip (61.2 Кб, 3 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.03.2015, 17:34
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Auto layout после анимации и трансформации (Программирование iOS):

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

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

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

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

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

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-land
доброе утро ! пишу первое приложение. обычный мейн.хмель выглядит вот так :...

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

Dispose контрола после анимации.
Доброго времени суток. Возник вопрос, как уничтожить контрол по завершению...

Остановка анимации после запуска
Привет всем недавно так начал изучать юнити и C# и с толкнулся со следующей...


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

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

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