Разработка под iOS с помощью Swift 2 - Анимации
Анимация - важная часть любого приложения, поскольку она привлекает внимание пользователя к приложению. Анимация - это просто набор изображений, которые повторяются с высокой скоростью. Это также отличает ваше приложение от других.
Создание анимационного проекта - Kitty Animation
Это будет простой проект, в котором мы будем запускать анимацию при нажатии кнопки. Мы будем использовать несколько изображений для создания GIF, поэтому загрузите любой GIF и преобразуйте его в изображения, что даст вам несколько кадров этого GIF.
В этом разделе мы будем использовать следующие изображения.
Эти изображения, когда воспроизводятся вместе, создают анимацию. Поэтому сделаем приложение с одним представлением. Затем мы перетащим параметр просмотра изображения, метку и кнопку внутри контроллера основного представления. Как только это будет сделано, мы подключим изображение и кнопку к нашему быстрому файлу.
(Если вы не хотите использовать эти изображения, найдите любой gif и конвертируйте его в изображение онлайн, используя какой-нибудь конвертер gif в изображения.)
Внутри действия кнопки мы вставим следующую команду, чтобы отображать изображение при нажатии кнопки.
imageView.image = UIImage(named: "frame_0_delay-0.1s.gif")
// frame_0_delay-0.1s.gif, is the name of image
Вот как мы программно назначаем изображение представлению изображения. Теперь вид должен выглядеть следующим образом -
Первое представление появится, когда мы запустим приложение. Когда мы нажимаем кнопку «Анимировать», появляется изображение.
Это не анимация, а просто изображение. Теперь создадим анимацию -
Добавьте переменную под выходом изображения: var counter = 1.
Обратите внимание, что наши изображения имеют общее имя и отличается только один символ. Измените код вашей анимированной кнопки, как показано ниже -
@IBAction func animatePressed(_ sender: Any) {
imageView.image = UIImage(named: "frame_\(counter)_delay-0.1s.gif")
counter += 1
if counter == 9 {
counter = 0
}
}
Теперь, когда вы нажимаете animateкнопка, изображение меняется каждый раз. Следующим шагом будет создание следующего -
Создайте переменную - isAnimating и присвоить ему значение False.
Создайте переменную таймера и назначьте Timer() функция к нему.
После выполнения двух вышеуказанных шагов создайте функцию анимации и вставьте следующий код.
func animate() {
imageView.image = UIImage(named: "frame_\(counter)_delay-s.gif")
counter += 1
if counter == 9 {
counter = 0
}
}
Где counter - это наша переменная счетчика, которую мы создали в предыдущем файле. Теперь внутри функции кнопки анимации добавьте следующий код -
if isAnimating {
timer.invalidate()
isAnimating = false
} else {
timer = Timer.scheduledTimer(timeInterval: 0.1, target: self, selector:
#selector(ViewController.animate), userInfo: nil, repeats: true)
isAnimating = true
}
Попробуйте запустить приложение и мы увидим, что на вашем устройстве запускается анимация.
Challenge - Добавьте кнопку остановки, которая остановит анимацию.