- Основные понятия
- Stop Motion Studio
- . iStopMotion
- Clayframes
- PicPac Stop Motion & Time Lapse
- 3d-графика
- IMotion
- Stop Motion Maker
- Life Lapse Stop Motion Maker
- Frameographer
- Osnap! Pro
- Applе pencil
- gif анимация — видео редактор
- roughanimator — animation app
- Анимации
- Блоки анимации
- Векторная графика
- Воксель-арт
- Модели анимации
- Неявная анимация
- Пиксель-арт
- Подключение к пк
- Растровая графика
- Удаление анимаций
- Удаляем все анимации
- Удаляем конкретную анимацию
- Явная анимация
- Заключение
Основные понятия
В нашем разговоре об анимациях нельзя обойтись без нескольких фундаментальных вещей. Определим их:
Core Animation — фреймворк для работы с базовыми классами анимации: CABasicAnimation, CAKeyFrameAnimation, CATransition, CAAnimationGroup. Использование Core Animation полностью автоматизировано: не нужно создавать циклов и таймеров, чтобы сделать анимацию.
CALayer — набор классов, управляющих анимацией корневого слоя объекта. Классы получают доступ к слою и применяют к нему одно из свойств. Среди таких свойств — размер и положение слоя, фоновый цвет слоя, тень, скруглённые углы и тому подобное.
Чтобы при создании анимации указать путь к свойствам CALayer, используется метод animationWithKeyPath или свойство keyPath. Последние назначаются строковым видом @«название_ключа». Вот несколько примеров:
CALayer *layer = [CALayer layer].opacityCALayer *layer = [CALayer layer].positionCALayer *layer = [CALayer layer].shadowRadius
С использованием animationWithKeyPath мы познакомимся получше в разделе «Примеры явных анимаций». А все свойства можно посмотреть здесь.
Stop Motion Studio
Цена: бесплатно, предлагает покупки в приложении
Совместимость: Android, iOS
Оценки пользователей: 4,5 в App Store, 3,8 в Google Play
Это кроссплатформенное приложение оснащено универсальным набором инструментов для покадровой анимации, которые предоставляют вам полный контроль над всеми настройками камеры. Вы можете настроить баланс белого, ISO и экспозицию вручную, в то время как приложение также позволяет вам выбрать, хотите ли вы использовать ручную или автоматическую фокусировку.
Кроме того, Stop Motion Studio предлагает руководства по анимации, которые позволяют пользователям перемещать объекты в кадре с большей точностью, а шкала времени приложения позволяет легко перемещаться по большому количеству кадров. Изменение фона, применение визуальных эффектов или создание саундтреков — вот лишь некоторые из множества вариантов, которые предлагает Stop Motion Studio.
. iStopMotion
Цена: $9.99
Совместимость: iOS
Оценки пользователей: 3.7
Это приложение предлагает только стандартный набор инструментов для покадровой съемки, таких как луковая кожа или мгновенное воспроизведение, что делает его в значительной степени завышенным, поскольку оно не предлагает никаких дополнительных опций покадровой фотосъемки.
Более того, вам необходимо установить дополнительное приложение, если вы хотите снимать фотографии удаленно, и у вас не будет доступа к параметрам редактирования фотографий. Изменение порядка кадров, которые вы добавляете на шкалу времени, невозможно, и в приложении даже нет опции отмены.
Приложение предлагает функции записи звука, которые позволяют создавать озвучку для ваших видео, и вы можете импортировать аудиофайлы, которые хотите включить в свою звуковую дорожку. Несмотря на это, iStopMotion далеко не идеальное приложение для покадровой анимации, так как в App Store есть много лучших вариантов.
Заключение
Clayframes
Цена: $2.28
Совместимость: Android
Оценки пользователей: 4.0
Несмотря на то, что Clayframes не обновлялся годами, он по-прежнему остается одним из лучших приложений для покадровой анимации для смартфонов Android. Вы можете либо захватить новые кадры, либо импортировать изображения, которые хотите использовать в своем покадровом видео, и расположить их так, как вы хотите.
Инструмент стирания приложения позволяет вам удалять установки и все другие объекты, которые вы не хотите оставлять в кадре. Clayframes оснащена опциями спуска затвора по времени, которые позволяют вам выбрать, как часто приложение будет делать фотографии.
PicPac Stop Motion & Time Lapse
Цена: бесплатно, предлагает покупки в приложении
Совместимость: Android
Оценки пользователей: 4.0
3d-графика
Полноценной 3D-графикой тоже можно попробовать позаниматься на iPad. Для инженеров и
промышленных дизайнеров
есть приложение Shapr3D.
IMotion
Цена: бесплатно, но предлагает покупки в приложении
Совместимость: iOS
Оценки пользователей: 4.4
Владельцы iPhone и iPad, которые хотят создавать замедленное и покадровое видео из одного и того же приложения, могут попробовать использовать iMotion. В приложении есть режимы Time-Lapse, Manual, WiFi Remote и Photo Library Import, и вы можете легко выбрать тот, который лучше всего соответствует требованиям вашего проекта.
Более того, iMotion позволяет вам решить, хотите ли вы снимать кадры с помощью передней или задней камеры, и позволяет вам вручную управлять фокусировкой, экспозицией или балансом белого. Максимальная продолжительность покадрового видеоролика не ограничена, и вы также можете предварительно просмотреть свои проекты с разной частотой кадров.
Stop Motion Maker
Цена: бесплатно, предлагает покупки в приложении
Совместимость: iOS
Оценки пользователей: 4.0
Создание покадрового видео с помощью этого приложения — простой процесс, который можно выполнить всего за несколько простых шагов. После того, как вы запустите приложение и нажмете кнопку «Создать», камера устройства откроется, и вам просто нужно будет нажимать кнопку камеры каждый раз, когда вы хотите создать новый кадр.
После завершения последовательности изображений нажмите кнопку «Готово», так что вам просто нужно предварительно просмотреть результат, прежде чем приступить к экспорту видео. Приложение не позволяет записывать закадровый голос или создавать саундтреки, и вы должны использовать другое приложение для редактирования видео для устройств iOS, если хотите дальше редактировать покадровое видео.
Цена: Бесплатно
Совместимость: Android
Оценки пользователей: 4.0
Это обязательное приложение для всех страстных игроков в Minecraft, поскольку оно позволяет им создавать покадровые анимации со всеми их любимыми персонажами. После того, как вы создали свой мир Minecraft, вы можете начать снимать его с помощью Stop Motion Movie Creator.
Приложение оснащено инструментом «луковая кожа» и руководствами, которые покажут вам, как перемещать объекты на экране, что значительно упрощает процесс создания покадровой анимации. Кроме того, вы можете применять различные визуальные эффекты ко всем изображениям, которые вы делаете с помощью этого приложения, или даже добавлять к видео конечные титры.
Life Lapse Stop Motion Maker
Цена: бесплатно, предлагает покупки в приложении
Совместимость: iOS, Android
Оценки пользователей: 4,8 в App Store, 3,6 в Google Play
Life Lapse, вероятно, является одним из лучших приложений для покадровой анимации, когда-либо созданных, потому что оно предлагает все инструменты, необходимые для съемки и редактирования покадровой анимации. Фокус, баланс белого и блокировка экспозиции, наложение фантомных изображений или интервальные таймеры — вот лишь некоторые из бесчисленных опций, которые вы можете использовать при съемке покадрового видео.
При желании вы можете импортировать фотографии и использовать инструменты редактирования видео приложения для настройки частоты кадров, применения визуальных эффектов или создания саундтреков из бесплатных песен. Life Lapse предоставляет вам доступ к инструментам цветокоррекции, которые позволяют вам вручную устанавливать значения насыщенности, яркости, контрастности или баланса белого для каждого кадра, который вы включаете в создаваемое вами покадровое видео. Вы должны перейти на профессиональную версию приложения, если хотите записывать кадры в разрешении 4K.
Frameographer
Цена: $4.99
Совместимость: iOS
Оценки пользователей: 3.4
Если вы ищете простое приложение, которое позволяет с легкостью снимать последовательности изображений, вам не стоит искать дальше, чем Frameographer. Вы можете выбрать, хотите ли вы записывать покадровое видео с передней или задней камерой iPhone с разрешением 1080p или 720p.
Кроме того, вы можете включить или отключить сетку, которая поможет вам компоновать снимки или заблокировать фокус и экспозицию. Frameographer также имеет режим Boost при слабом освещении, который позволяет снимать покадровые или замедленные видеоролики в условиях низкой освещенности.
Osnap! Pro
Цена: $4.99, доступны покупки в приложении
Совместимость: iOS
Оценки пользователей: 4.7
Фотографы, которые любят снимать таймлапс и покадровое видео на свои iPhone, могут извлечь выгоду из установки Osnap! Профи на своих девайсах. Помимо предустановок, позволяющих быстро выполнять проекты, это приложение также оснащено функциями, необходимыми для управления настройками камеры вручную. Оснап!
Pro позволяет снимать с разрешением 4K или Full HD, и вы можете выбрать, хотите ли вы создать видео с вертикальной или горизонтальной ориентацией, или установить соотношение сторон, которое лучше всего подходит для вашего проекта. Приложение позволяет активировать функцию захвата фотографий с помощью громких звуков и даже устанавливать напоминания, которые уведомят вас, когда вы должны сделать новую фотографию.
Applе pencil
gif анимация — видео редактор
GIF Maker — редактор GIF №1 в магазине приложений
Используйте GIF Maker для создания смешных GIF-файлов, Boomerang & Memes.
■ Предоставлять GIF Instagram, Facebook, Twitter, Messenger и другие.
■ Специальная программа GIF Maker: огромная коллекция популярных GIF-файлов и мемов!
Особенности:
==========
• Преобразование видео или фотографий в формат GIF
• Сделать Boomerang видео для Instagram
• Превратите свое фото в Забавный Меморандум
• Создание клипов для видеороликов
• Создание GIF с камеры Live
• Добавить текст в ваших GIF-файлах
• Отрегулируйте скорость кадров в формате GIF
• Добавить красивые фильтры в GIF
Премиум-функции:
==============
1. Создание неограниченного GIF из видео
2. Сделайте неограниченный GIF из фотографий
3. Создание неограниченного списка
4. Бесплатная версия рекламы
Скачивайте и получайте удовольствие, пока это бесплатно!
Нашли ошибку? Или Есть предложения? Или хотите новые функции?
Пожалуйста, напишите нам по адресу: braincraftltd.info@gmail.com
Поддерживать связь, чтобы получать все обновления. Спасибо!
Premium Subscription Details:
======================
Subscription price:
• Trial: Free for first 03 days, then $9.99 per month.
• Monthly: $9.99/Month.
• Yearly: $59.99/Year.
• LifeTime: $99.99(one time).
— Payment will be charged to iTunes Account at confirmation of purchase.
— Subscription automatically renews unless auto-renew is turned off at least 24-hours before the end of the current period.
— Account will be charged for renewal within 24-hours prior to the end of the current period, and identify the cost of the renewal.
— Subscriptions may be managed by the user and auto-renewal may be turned off by going to the user’s Account Settings after purchase.
— Any unused portion of a free trial period, if offered, will be forfeited when the user purchases a subscription to that publication, where applicable.
Please read our Terms and Service & Privacy Policy:
https://sites.google.com/a/braincraftapps.com/gif_maker/home/terms
https://sites.google.com/a/braincraftapps.com/gif_maker/home/policy
roughanimator — animation app
A fully featured hand drawn animation application for iPad. Made by an animator, for animators. Powerful enough for professionals, simple enough for beginners. Everything you need to create traditional hand drawn frame-by-frame animation, anywhere you go!
Features:
— Timeline with unlimited layers and easily adjustable exposure length of individual drawings, for pose-to-pose or straight-ahead animating
— Onion skinning
— Preview playback
— Scrub along timeline
— Import audio for lip syncing
— Import video for rotoscoping animation
— Custom brushes
— Supports Apple Pencil, Logitech Crayon, Adonit & Wacom Bluetooth styluses
— Control framerate and resolution
— Export animation to Quicktime video, GIF, or image sequence
— RoughAnimator projects can be imported to Adobe Flash/Animate, After Effects, and Toon Boom Harmony
See a short film animated with RoughAnimator:
https://youtu.be/vaHuJNNPoMM
Анимации
На iPad можно создавать анимации. Пока мне не встретилось ничего, что дотянуло бы по возможностям до Adobe Animate, но поиграть с простыми анимациями возможно. Вот несколько приложений, которые вам в этом помогут:
DigiCell FlipPad, Animation & Drawing от Do Ink, FlipaClip
Блоки анимации
Есть заранее заготовленные блоки, в которых можно проигрывать нужную анимацию (изменение прозрачности, позиции, размеров). Таких блоков два: animations и completion. Определим их назначение:
Блоки анимаций нужно использовать при смене одного значения слоя (объекта) на другое с последующим сохранением нового значения. В блоках мы можем менять как свойства слоя, так и свойства самого объекта.
Пример 1. Альфа кнопки изменится из текущего состояние в конечное, которое указано в блоке, за 3 секунды.
Objective-c:
[UIView animateWithDuration:3.0 animations:^{
_theButton.alpha = 0.0;
}];
Swift:
UIView.animateWithDuration(3.0, animations: {
self.theButton.alpha = 0.0
})
Пример 2.
Поменяем у кнопки позицию и высоту
Objective-c:
CGRect frame = _animationButton.frame;
frame.origin.y = 100;
frame.size.height = 200;
[UIView animateWithDuration:1.5
delay:0.0
options: UIViewAnimationOptionCurveEaseOut
animations:^{
_animationButton.frame = frame;
}
completion:^(BOOL finished){
NSLog(@"Done!");
}];
Swift:
var frame = self.animationButton.frame
frame.origin.y = 100
frame.size.height = 200
UIView.animate(withDuration: 1.5, delay: 0.0, options: .curveEaseOut, animations: {
self.animationButton.frame = frame
}) { (true) in
print("Done")
}
Здесь первый параметр — скорость, с которой будет воспроизводиться анимация;
второй параметр — задержка;
третий параметр — опции, то есть в каком виде будет проигрываться анимация.
Опции проигрывания анимации:
UIViewAnimationCurveLinear — анимация выполняется на постоянной скорости в течение заданного времени;UIViewAnimationCurveEaseOut — анимация начинается быстро и замедляется ближе к концу;UIViewAnimationCurveEaseIn — анимация начинается медленно и ускоряется ближе к концу;UIViewAnimationCurveEaseInOut — анимация начинается медленно, ускоряется и снова замедляется.
Есть блоки анимаций, в которых осуществляются анимационные переходы между UIView или добавление элементов на UIView, как в примере ниже. В них используется блок transitionWithView, нужный для анимационного перехода или представления UIView или унаследованных от UIView объектов.
Objective-c:
Векторная графика
Векторная графика — когда приложение работает с кривыми и геометрическими формами. В таких изображениях обычно меньше деталей, но их можно увеличивать без потери качества.
Векторных редакторов для iOS много, но отмечу, пожалуй, два из них. Первый — это Affinity Designer.
Этот векторный редактор содержит очень много возможностей и почти полностью повторяет функционал своей десктопной версии. В нём можно как делать иллюстрации, так и накидать интерфейс для мобильного приложения.
Интересной особенностью является режим работы с растровой графикой. Позволяет рисовать растровые слои, которые можно совмещать с векторной геометрией. Это может быть очень удобно для придания фактуры иллюстрациям.
Affinity Designer умеет: слои, разные кривые, маски, наложение растровых слоев, режимы смешивания, режим экспортирования арта для публикации и многое другое. По возможностям подбирается к Adobe Illustrator.
Второй — Adobe Illustrator Draw. Это очень простое приложение для рисования векторными кистями. Не упрощает геометрию рисуемых линий и хорошо реагирует на силу нажатия. Делает мало, но то, что делает — делает хорошо. Наш иллюстратор в FunCorp постоянно пользуется им по работе.
Воксель-арт
Воксель-арт — это как пиксель-арт, только в нём рисуют объёмными кубиками. Чем-то похожим люди занимаются в игре
Minecraft
. Пример, сделанный на компьютере:
Модели анимации
Существует две модели анимации: неявная и явная.
Неявная анимация
Неявная модель анимации Core Animation предполагает, что все изменения в анимируемых свойствах слоя должны быть постепенными и асинхронными. Анимация будет происходить без эффектов, переходя от одного значения к другому.
Предположим, что текущее положение слоя в (theLayer.position.x, theLayer.position.y)
Objective-c:
theLayer.position=CGPointMake(100.0,100.0);
Swift:
theLayer.position = CGPoint(x: 100.0, y: 100.0)
Пиксель-арт
Пиксель-арт — визуальный стиль, в котором пиксели в изображениях явно видны, на манер
старых
игр и компьютеров с низким разрешением экрана.
Рисовать пиксель-арт можно и в обычном растровом редакторе на большом зуме. Но могут возникнуть трудности с кистями, привязками и прочим. Поэтому для пиксель-арта существует несколько отдельных приложений.
Я использую Pixaki. Оно поддерживает создание палитр, пиксельные кисти, настраиваемую сетку, анимации, правильные пиксельные линии и ещё много чего.
Подключение к пк
Также есть несколько способов подключить iPad к компьютеру и использовать его как
второй монитор
для рисования. Для этого можно использовать приложение
Astropad
. В нём есть управление жестами, оптимизация для уменьшения задержки при рисовании и ещё всякие мелочи. Из минусов: он дублирует изображение с экрана на iPad, но не позволяет использовать планшет как второй экран. Чтобы подключить iPad как второй монитор, вам понадобится устройство от тех же разработчиков —
Luna Display
Растровая графика
Растровая графика — когда в приложении хранится и может меняться информация о цвете каждого пикселя по отдельности. Это даёт возможность рисовать очень натуральные изображения, но при их увеличении будут видны пиксели.
Одно из самых популярных приложений для работы с растровой графикой — Procreate. В нём есть все самые необходимые возможности для рисования: слои, режимы наложения, прозрачность, кисти, фигуры, цветокоррекция и многое другое.
Также можно обратить внимание на эти приложения: Tayasui Sketches, Adobe Photoshop Sketch, Paper by WeTransfer.
Удаление анимаций
Мы можем удалить как конкретную анимацию у layer, так и все анимации.
Удаляем все анимации
Чтобы удалить все анимации у layer, нужно отправить сообщение removeAllAnimations:
Objective-c: [theLayer removeAllAnimations];
Swift: theLayer.removeAllAnimations()
Удаляем конкретную анимацию
При создании анимации мы указывали ключ @«animateOpacity», по которому сможем получить доступ к ней. Чтобы удалить эту анимацию, делаем следующее:
Objective-c: removeAnimationForKey:@«animateOpacity»
Swift: removeAnimationForKey(«animateOpacity»)
Явная анимация
Явная модель анимации требует создания объекта анимации и постановки начальных и конечных значений и будет протекать плавно от одного значения к другому. Анимация не начнётся, пока не будет добавлена к слою.
Набор классов анимаций, унаследованных от Core Animation:
• CABasicAnimation. Обеспечивает простую интерполяцию между значениями для слоя. Например, с этим классом мы можем перемещать слой из одной точки в другую, менять значение прозрачности от одного к другому и т.п. С помощью класса можно сделать анимации для привлечения внимания пользователя к определённому объекту на экране или показать обучающую информацию в виде анимации.
Objective-c:
CABasicAnimation *theAnimation;
theAnimation=[CABasicAnimation animationWithKeyPath:@"position"];
theAnimation.duration = 3.0;
theAnimation.repeatCount = 2;
theAnimation.autoreverses = NO (YES);
theAnimation.fromValue= [NSValue valueWithCGPoint:CGPointMake(screenWidth/2, _animationButton.frame.origin.y)];
theAnimation.toValue= [NSValue valueWithCGPoint:CGPointMake(100, 100)];
[theLayer addAnimation:theAnimation forKey:@"animatePosition"];
Swift:
let theAnimation = CABasicAnimation(keyPath: "position");
theAnimation.fromValue = [NSValue(CGPoint: CGPointMake(screenWidth/2, self.animationButton.frame.origin.y))]
theAnimation.toValue = [NSValue(cgPoint: CGPoint(x: 100.0, y: 100.0))]
theAnimation.duration = 3.0;
theAnimation.autoreverses = false //true - возвращает в исходное значение либо плавно, либо нет
theAnimation.repeatCount = 2
theLayer.addAnimation(theAnimation, forKey: "animatePosition");
В верхней анимации параметр autoreverses = YES, в нижней — NO. То есть позиция либо не возвращается к первоначальному значению, либо плавно возвращается.
CAKeyframeAnimation.
Обеспечивает изменение значений свойства слоя по величинам, которые задаются в массиве. Для инициализации используется метод animationWithKeyPath с указанием свойства, которое нужно изменить.Также указываем массив значений, которые будут представляться на каждом этапе анимации.
Objective-c:
NSArray * pathArray = @[ [NSValue valueWithCGPoint:CGPointMake(10., 10.)], [NSValue valueWithCGPoint:CGPointMake(100., 10.)], [NSValue valueWithCGPoint:CGPointMake(10., 100.)], [NSValue valueWithCGPoint:CGPointMake(10., 10.)], ];
CAKeyframeAnimation *pathAnimation = [CAKeyframeAnimation animationWithKeyPath:@"position"];
pathAnimation.values = pathArray;
pathAnimation.duration = 5.0;
[self.label.layer addAnimation:pathAnimation forKey:@"position"];
Swift:
let animation = CAKeyframeAnimation()
let pathArray = [[NSValue(cgPoint: CGPoint(x: 10.0, y: 10.0))], [NSValue(cgPoint: CGPoint(x: 100.0, y: 100.0))], [NSValue(cgPoint: CGPoint(x: 10.0, y: 100.0))], [NSValue(cgPoint: CGPoint(x: 10.0, y: 10.0))], ]
animation.keyPath = "position"
animation.values = pathArray
animation.duration = 5.0
self.label.layer.add(animation, forKey: "position")
CATransition
. Обеспечивает эффект перехода, который влияет на контент всего слоя. Он исчезает, толкает или раскрывает содержимое слоя при анимации. CATransition можно использовать для перехода между UIView или для изменения переходов между UIViewController: плавное появление, появление с разных сторон, появление поверх текущего контента, выталкивание текущего контента.
Для того, чтобы реализовать кастомный переход между экранами, нужно в методе pushViewController: animated: указать NO(false) для параметра animated.
Objective-c:
CATransition *transition = [CATransition animation];
transition.duration = 2.35
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionFade;
[self.navigationController.view.layer addAnimation:transition forKey:kCATransition];
[[self navigationController] pushViewController:[NewViewController new] animated:NO];
Swift:
let transition = CATransition()
transition.duration = 2.35
transition.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut)
transition.type = kCATransitionFade
self.navigationController?.view.layer.add(transition, forKey: nil)
self.navigationController?.pushViewController(ViewController(), animated: false)
Типы для transition.type:Подтипы для transition.subtype:
Весь список типов и подтипов CATransition можно посмотреть в официальной документации Apple для разработчиков.
Типы:→ Swift→ Objective-c
Подтипы:→ Swift→ Objective-c
• CAAnimationGroup. Позволяет создать массив анимированных объектов, которые сгруппируются вместе и будут работать одновременно.
Objective-c:
CABasicAnimation *positionAnimation = [CABasicAnimation animationWithKeyPath:@"position"];
[posAnimation setFromValue:[NSValue valueWithCGPoint:CGPointMake(_animationButton.frame.origin.x, _animationButton.frame.origin.y)]];
[posAnimation setToValue:[NSValue valueWithCGPoint:CGPointMake(100, 100)]];
posAnimation.autoreverses = YES;
//Важная часть, в которой задаётся скорость анимации и время, через которое анимация начнёт проигрываться.
[posAnimation setDuration:10.0];
[posAnimation setBeginTime:0.0];
CABasicAnimation *heightAnimation = [CABasicAnimation animationWithKeyPath:@"bounds.size"];
heightAnimation.autoreverses = YES;
[heightAnimation setFromValue: [NSValue valueWithCGSize:CGSizeMake(_animationButton.frame.size.width,_animationButton.frame.size.height)]];
[heightAnimation setToValue:[NSValue valueWithCGSize:CGSizeMake(_animationButton.frame.size.width, 200)]];
[heightAnimation setDuration:10.0];
[heightAnimation setBeginTime:5.0];
CAAnimationGroup *group = [CAAnimationGroup animation];
[group setDuration:10.0];
[group setAnimations:[NSArray arrayWithObjects:posAnimation, heightAnimation, nil]];
[_animationButton.layer addAnimation:group forKey:nil];
Swift:
var animations = [CABasicAnimation]()
var posAnimation = CABasicAnimation(keyPath: "position")
posAnimation.duration = 1.0
posAnimation.autoreverses = true
posAnimation.fromValue = [NSValue(cgPoint: CGPoint(x: self.animationButton.frame.origin.x, y: self.animationButton.frame.origin.y))]
posAnimation.toValue = [NSValue(cgPoint: CGPoint(x: 100.0, y: 100.0))]
animations.append(posAnimation)
var heightAnimation = CABasicAnimation(keyPath: "bounds.size")
heightAnimation.autoreverses = true
heightAnimation.duration = 10.0
heightAnimation.fromValue = [NSValue(cgSize: CGSize(width: self.animationButton.frame.size.width, height: self.animationButton.frame.size.height))]
heightAnimation.toValue = [NSValue(cgSize: CGSize(width: self.animationButton.frame.size.width, height: 200.0))]
heightAnimation.beginTime = 5.0
animations.append(heightAnimation)
let group = CAAnimationGroup()
group.duration = 10.0
group.animations = animations
self.animationButton.layer.addAnimation(group, forKey: nil)
Здесь параметр BeginTime указывает, через какой промежуток после старта запустится анимация.
Анимация изменения позиции начинается сразу после старта, а анимация изменения высоты кнопки — с пятой секунды.
Заключение
В этой статье я дал минимальный уровень знаний об iOS-анимации, с которым ваше приложение станет более красочным и надёжнее захватит внимание пользователя iPhone или iPad. Сейчас наша команда работает над проектом с более сложными анимациями, в которых играют значительную роль timing function и delay.