Как создать розетку можно найти здесь . Чтобы подвести итог, откройте редактор помощника (два кружка в верхнем правом углу) и перетащите кнопку из раскадровки в файл Swift, удерживая нажатой клавишу управления.
IBAction, который вы должны написать для этого выхода, будет выглядеть примерно так:
@IBAction func starStopButtonPressed(_ sender: Any) {
//Check if the progressionAnimation UIImageView is already animating
if progressionAnimation.isAnimating {
progressionAnimation.stopAnimating() //If animating: stop animating
else {
progressionAnimation.startAnimating() //If not animating: start animating
}
}
При создании новых переменных будьте осторожны с !
. Это может вызвать сбои, если вы попытаетесь использовать переменную до того, как она будет иметь значение.
Итак, это:
var images: [UIImage]!
images = [loading_1, loading_2, loading_3]
Должно быть написано так:
var image: [UIImage] = [loading_1, loading_2, loading_3]
Меньше линий, что делает его более чистым и безопасным. Сделайте то же самое с этими UIImages loading_1-3, вы можете переместить их объявление внутрь функции viewDidLoad
.
Так же, как это:
var animatedImage: UIImage!
animatedImage = UIImage.animatedImage(with: images, duration: 3.0)
progressionAnimation.image = animatedImage
Было бы и чище, и безопаснее, если бы вы написали это так:
progressionAnimation.image = UIImage.animatedImage(with: images, duration: 3.0)