В сегодняшней статье мы собираемся полностью программно добавить полосу работоспособности в приложение для iOS в Swift 5. В процессе мы приобретем опыт работы с UIProgressView, UIImageView, GestureRecognizer, ограничениями и анимацией.

К концу этого урока вы сделаете врага на экране с полосой здоровья над головой. Когда вы нажимаете на врага, он сжимается, а затем увеличивается благодаря анимации UIView, в то время как его полоса здоровья медленно уменьшается.

Код

Шаг 1. Создайте новый проект XCode, а затем добавьте изображение png, найденное по адресу https://drive.google.com/drive/u/0/folders/1gBVQQp-1lb2EIdLoL106vpDWsYpofmKF, в свои активы. папка xcassets.

Шаг 2. Создание и настройка наших подпредставлений. В файле ViewController.swift добавьте следующий код. Здесь мы создаем переменную для полосы здоровья и другую переменную для врага. В нашей функции viewDidLoad мы вызываем функцию setUpSubviews, которая инициализирует и добавляет ограничения как к противнику, так и к полосе здоровья.

Шаг 3. Добавление анимации при нажатии на врага. Сначала нам нужно добавить к врагу распознаватель жестов, чтобы наша программа могла получать информацию всякий раз, когда пользователь нажимает на врага.

Вставьте эту единственную строку кода в последнюю строку вашей функции setUpSubviews:

На этом этапе у вас, вероятно, будет ошибка от XCode, в которой говорится, что существует «Использование неразрешенного идентификатора« hitEnemy »», поэтому давайте решим это, добавив следующий код. В приведенном ниже коде мы добавляем анимацию, чтобы показать, что враг был поврежден, масштабируя размер врага и уменьшая его здоровье.

Спасибо за чтение. У вас есть вопросы? Дайте мне знать в разделе комментариев.

Поделитесь статьей, чтобы другие разработчики тоже могли ее прочитать.