"Добавить в список чтения" не показывает анимацию на моем телефоне, но по вашему описанию это звучит как анимация "Открыть в фоновом режиме" в Safari (iPhone). Мой ответ описывает эту анимацию.
Я написал нечто подобное несколько месяцев назад, и многое из этого выполнимо, а некоторые нет. Ваши вопросы показали мне, что все больше людей должны знать, как это делается, поэтому Я написал сообщение в блоге об этом . Я опишу подход и проблемы высокого уровня здесь, но вы можете прочитать больше об этом в этом посте.
Получение контента для анимации
Если вы решите анимировать вид, отображаемый на экране, до (в вашем случае) панели инструментов, то вам потребуется только доступ к ее слою. Если вы хотите, чтобы исходный вид оставался и анимировал визуальную копию (например, анимацию «открыть в фоновом режиме» -Safari) до элемента панели, тогда вам следует создать новый слой и нарисовать содержимое вашего слоя в изображение. и установите это изображение в качестве содержимого слоя, который вы анимируете
Расчет конечной позиции
Начальная позиция анимации - это просто рамка вида. Конечная позиция очень хитрая , поскольку элементы панели (как элементы панели инструментов, так и элементы панели вкладок) не являются подклассами UIView и не имеют свойства открытого представления. Это вызывает проблемы, когда вы хотите потрясти стержень позже.
Я решил сделать визуальное приближение конечной позиции, используя простую эвристику. Если вы заранее знаете, что будете анимировать только один элемент бара, то конечное положение может быть жестко закодировано в подходящей рамке.
Анимация по дорожке
Нет ничего особенного в перемещении, масштабировании и вращении слоя из начальной в конечную позицию. Если вы хотите узнать больше о том, как я это сделал, вы можете посмотреть пост, который я написал.
Встряхивание штанги
Этого нельзя сделать без большого количества пользовательского кода или использования частного API на данный момент. Поскольку у элементов панели нет вида или слоя, для вас нет доступных слоев для анимации. Полагаю, у вас может быть собственное анимируемое изображение, которое встряхивает, и задайте его во время анимации, а затем установите новое изображение. Подход к рисованию изображения и анимации, который тоже не работает, поскольку нет доступного слоя, который мог бы нарисовать его содержимое в изображении (вы хотите это для специального эффекта элемента панели инструментов и элемента панели вкладок).
... соберите все это вместе и настройте под свои особые потребности, и у вас будет анимация, напоминающая анимацию, которую вы ищете.