Использование возможностей UIDynamicAnimator в приложениях под iOS 7

После выхода iOS 7 у разработчиков появилось очень много новых инструментов для создания интересных и увлекательных эффектов и анимаций. Но уместность использования многих из них по-прежнему остаётся под вопросом. Изучив некоторые из них, мы решили в новом нашем проекте сделать анимацию, аналогичную реализованной Apple в приложении «Сообщения».

Для реализации такого поведения нам пришлось заменить используемый сначала экземпляр класса UITableView на UICollectionView, так как только последний был адаптирован Apple для работы с объектом-аниматором UIDynamicAnimator

 

После этого мы переопределили стандартный UICollectionViewFlowLayout:

[gist id= 7153677 file=DVCollectionViewFlowLayout.h]

в котором определили  объект UIDynamicAnimator и переопределили необходимые для реализации функции:

[gist id= 7153677 file=DVCollectionViewFlowLayout.m]

Динамическое поведение становится активным, когда вы его добавляете к объекту- аниматору, который является экземпляром UIDynamicAnimator. Аниматор определяет контекст в котором динамическое поведение выполняется.

Объект UIAttachmentBehavior определяет связь между динамическим элементом класса UICollectionViewLayoutAttributes и точкой item.center. Когда точка перемещается, присоединенный элемент также перемещается. C помощью свойств length, damping и frequency можно настроить поведение нужным нам образом.

[gist id= 7153677 file= UIAttachmentBehavior]

Также важно правильно подобрать resistanceFactor

[gist id= 7153677 file= resistanceFactor]

Другие статьи по теме:

  1. Эффект параллакса в iOS приложениях
  2. Осваиваем Core Motion в iOS

 

Dynamic Streaming — адаптивное качество


Динамический стриминг (dynamic streaming) — это процесс эффективной доставки видео пользователям изменяя качество и размер видео потока по ходу просмотра. Это дает возможность пользователям получить наилучшее доступное им качество видео при их скорости Интернет канала и вычислительной мощности процессора (не все компьютеры справятся с ренедрингом HD видео). Важной особенностью динамического стриминга является возможность сделать процесс плавным и незаметным для пользователя настолько, чтобы он не замечал переключения. Интересное применение этой функциональности — разрешение платным пользователям переключаться в HD видео поток при просмотре контента.
В этой статье мы рассмотрим данную технологию и особенности ее применения.
Continue reading