SlideShare a Scribd company logo
1 of 27
Download to read offline
Motion Design for
Developers
UIKit Dynamics
План
• Понятие Motion Design
• UIKit Dynamics
• Core Animations
• Сторонние инструменты
Основы Motion Design
• Фичическе свойства (масса, сила трения,
гравитация)
• Импульсное движение (easy in/easy out)
• Траектории
• Тайминг
Gravity
Collision detection
Motion Behaviours
Инструменты разработчика
• UIView Animations и Core Animations
• UIKit Dynamics
• Сторонние инструменты и библиотеки
UIKit Dynamics
UIKit Dynamics
• 2d система анимациия с физическим движком
• Декларативная и совместимая
• Не заменяет Core Animation или UIView
Animations
Компоненты
UIDynamicAnimator
Компоненты
UIDynamicAnimator
UIGravityBehaviour
UIAttachmentBehavio
ur
UICollisionBehaviour
UISnapBehaviour
UIFieldBehaviourUIPushBehaviour
Компоненты
UIDynamicAnimator
UIGravityBehaviour
UIAttachmentBehavio
ur
UICollisionBehaviour
UIDynamicGroupUIDynamicItem
UISnapBehaviour
UIFieldBehaviour
UIDynamicItemBehaviour
UIPushBehaviour
Collision Behaviour
• Bounds Types: Rectangle,
Ellipse, Custom Path
• Только выпуклые фигуры
• Сложные коллизии через
UIDynamicItemGroup
Forces
• Силы моделируются как
вектор: длинна и
направление
• UIPushBehaviour реализует
силы
• Конечные и бесконечные
Физические поля
• Гравитация - это линейное
физическое поле которое
связывает вектор движения с
каждой точкой объекта
UIFieldBehaviour
• UIFieldBehaviour может быть
добавлен к региону вашей
вьюхи
• UIGravityBehaviour это
UIFieldBehaviour
• Хорошо настраиваемая
физическая среда
Виды полей
Бесполезный пример
Полезный пример
UIAttachmentBehaviour
• Расстояние
• Настраиваемые затухание и
частота
UIAttachmentBehaviour
• LimitAttachment
• Ведет себя похоже на
веревку между объектами
• Точка прикрепления
относительно каждого
объекта
UIAttachmentBehaviour
• FixedAttachment
• Точка прикрепления
относительно reference view
• Нет движения между
объектами
• Применяется для объектов,
которые потом распадаются
на части
UIAttachmentBehaviour
• PinAttachment
• Точка прикрепления
относительно reference view
• Могут вращаться вокруг этой
точки
• Радиус вращения
регулируется
UISnapBehaviour
• Настройка затухания
• Настройка точки
Комбинирование
Demo
UIKit Dynamics и
AutoLayout

More Related Content

Similar to Motion Design For Developers

CodeFest 2011. Бусыгин Р. — Создание кастомных интерфейсов для iOS
CodeFest 2011. Бусыгин Р. — Создание кастомных интерфейсов для iOSCodeFest 2011. Бусыгин Р. — Создание кастомных интерфейсов для iOS
CodeFest 2011. Бусыгин Р. — Создание кастомных интерфейсов для iOSCodeFest
 
Автоматическое тестирование мобильных приложений на основе скриншотов
Автоматическое тестирование мобильных приложений на основе скриншотовАвтоматическое тестирование мобильных приложений на основе скриншотов
Автоматическое тестирование мобильных приложений на основе скриншотовSergey Borisov
 
Технический задел
Технический заделТехнический задел
Технический заделVladimir Petrov
 
Mobile automation overview
Mobile automation overviewMobile automation overview
Mobile automation overviewYauheni Patotsky
 
DUMP-2012 - Проектирование интерфейсов - "Опыт аутстаффинга проектировщиков п...
DUMP-2012 - Проектирование интерфейсов - "Опыт аутстаффинга проектировщиков п...DUMP-2012 - Проектирование интерфейсов - "Опыт аутстаффинга проектировщиков п...
DUMP-2012 - Проектирование интерфейсов - "Опыт аутстаффинга проектировщиков п...it-people
 
Аналитики и UX
Аналитики и UXАналитики и UX
Аналитики и UXJulia Shamrey
 
Михаил Лебединский (Termopal) “Особенности разработки веб и мобильных приложе...
Михаил Лебединский (Termopal) “Особенности разработки веб и мобильных приложе...Михаил Лебединский (Termopal) “Особенности разработки веб и мобильных приложе...
Михаил Лебединский (Termopal) “Особенности разработки веб и мобильных приложе...Provectus
 

Similar to Motion Design For Developers (9)

CodeFest 2011. Бусыгин Р. — Создание кастомных интерфейсов для iOS
CodeFest 2011. Бусыгин Р. — Создание кастомных интерфейсов для iOSCodeFest 2011. Бусыгин Р. — Создание кастомных интерфейсов для iOS
CodeFest 2011. Бусыгин Р. — Создание кастомных интерфейсов для iOS
 
Автоматическое тестирование мобильных приложений на основе скриншотов
Автоматическое тестирование мобильных приложений на основе скриншотовАвтоматическое тестирование мобильных приложений на основе скриншотов
Автоматическое тестирование мобильных приложений на основе скриншотов
 
Технический задел
Технический заделТехнический задел
Технический задел
 
Mobile automation overview
Mobile automation overviewMobile automation overview
Mobile automation overview
 
WatchKit 101
WatchKit 101WatchKit 101
WatchKit 101
 
DUMP-2012 - Проектирование интерфейсов - "Опыт аутстаффинга проектировщиков п...
DUMP-2012 - Проектирование интерфейсов - "Опыт аутстаффинга проектировщиков п...DUMP-2012 - Проектирование интерфейсов - "Опыт аутстаффинга проектировщиков п...
DUMP-2012 - Проектирование интерфейсов - "Опыт аутстаффинга проектировщиков п...
 
Squeek School #3
Squeek School #3Squeek School #3
Squeek School #3
 
Аналитики и UX
Аналитики и UXАналитики и UX
Аналитики и UX
 
Михаил Лебединский (Termopal) “Особенности разработки веб и мобильных приложе...
Михаил Лебединский (Termopal) “Особенности разработки веб и мобильных приложе...Михаил Лебединский (Termopal) “Особенности разработки веб и мобильных приложе...
Михаил Лебединский (Termopal) “Особенности разработки веб и мобильных приложе...
 

Motion Design For Developers