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

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

Войти
Регистрация
Восстановить пароль
 
smth
177 / 46 / 6
Регистрация: 23.06.2011
Сообщений: 248
#1

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

26.03.2015, 17:34. Просмотров 639. Ответов 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 Кб, 3 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.03.2015, 17:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Auto layout после анимации и трансформации (Программирование iOS):

После анимации открывать другой layout - Программирование Android
необходимо, чтобы после анимации открывался другой layout import android.support.v7.app.ActionBarActivity; import...

Некорректно работают функции Auto-Tone, Auto contrast, Auto color - Photoshop
Не корректно работают функции Auto-Tone, Auto contrast, Auto color. Вот пример (как на картинке). То есть оно какбы что-то делает и,...

Ошибка при открытии xls-файла после xslt-трансформации - XML/XSL
Здравствуйте. После трансформации при открытии 2007-ым экселем возникает следующая ошибка Вот код using System; using...

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

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

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

1
Victorianec
20 / 20 / 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 - Программирование Android
доброе утро ! пишу первое приложение. обычный мейн.хмель выглядит вот так : <?xml version="1.0" encoding="utf-8"?> <LinearLayout...

[WPF] Действие после анимации - C# WPF
Нужно чтобы после анимации марджин вернулся в нулевое значение. Но этого не происходит и у эллипса остается новое значение. Ellipse...

Остановка анимации после запуска - Unity, Unity3D
Привет всем недавно так начал изучать юнити и C# и с толкнулся со следующей проблемой Запуск: Персонаж стоит ничего не делает и...

Dispose контрола после анимации. - C# WPF
Доброго времени суток. Возник вопрос, как уничтожить контрол по завершению анимации? Есть форма с кнопками вперед и назад. По...


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

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

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