Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Tabbar

Добрый день!

После того как выполняю команду tabBarController.tabbar.hidden = YES, затем tabBarController.tabbar.hidden = NO
кнопки на tabbar'e перестают работать
Ответ:
Добрый день!

После того как выполняю команду tabBarController.tabbar.hidden = YES, затем tabBarController.tabbar.hidden = NO
кнопки на tabbar'e перестают работать
Вопрос: Auto layout после анимации и трансформации

Добрый день! У меня возник вопрос относительно применения 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).

Благодарю за потраченное время!
Ответ: Перед выполнением анимации для всех view, которые должны изменить свои позиции напишите
Код Objective-C
1
myView.translateAutoresizingMaskIntoConstraints = YES;