Попробуйте это
blockquote><android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:layout_width="wrap_content" android:text="Search..." android:textColor="@color/colorPrimary" android:layout_height="wrap_content"/> </android.support.v7.widget.Toolbar>
Я отследил решение до настойчивости Интерфейсного Разработчика, что пружины не могут быть изменены в представлении, у которого повернуты моделируемые элементы экрана вкл (строка состояния и т. д.). Так как пружины были отключены для основного вида, этот вид не мог изменить размер и, следовательно, был полностью прокручен при появлении панели вызовов.
Выключение смоделированных элементов, изменение размера вида и правильная настройка пружин вызвал анимацию и вызвал мой метод.
Дополнительная проблема при отладке заключается в том, что симулятор закрывает приложение, когда статус вызова вызывается через меню. Выйти из приложения = нет отладчика.
Вы посмотрели на layoutIfNeeded?
Отрывок документации ниже. Анимация работает при вызове этого метода явно во время анимации?
layoutIfNeeded Размечает подпредставления в случае необходимости.
- (void)layoutIfNeeded
Использование обсуждения этот метод для принуждения расположения подпредставлений перед рисунком.
Доступность, Доступная в iPhone OS 2.0 и позже.
При переносе приложения OpenGL с SDK 3 на 4, layoutSubviews больше не вызывался. После долгих проб и ошибок я, наконец, открыл MainWindow.xib, выбрал объект Window, в инспекторе выбрал вкладку Window Attributes (крайняя слева) и поставил галочку «Видимо при запуске». Кажется, что в SDK 3 он все еще использовался для вызова layoutSubViews, но не в 4.
6 часов разочарования положили конец.