Ответ
Да, UIActivityIndicatorView — стандартный элемент для отображения индикатора загрузки.
Базовая настройка (программно):
let spinner = UIActivityIndicatorView(style: .large)
spinner.color = .systemBlue
spinner.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(spinner)
NSLayoutConstraint.activate([
spinner.centerXAnchor.constraint(equalTo: view.centerXAnchor),
spinner.centerYAnchor.constraint(equalTo: view.centerYAnchor)
])
spinner.startAnimating() // Запуск анимации
// ...
spinner.stopAnimating() // Остановка анимации
Ключевые моменты:
- Стили: Для iOS 13+ используйте
.large,.mediumили.styleдля адаптивного цвета. - Управление: Индикатор не останавливается автоматически — всегда вызывайте
stopAnimating(). - SwiftUI: Аналог —
ProgressViewс модификатором.progressViewStyle(.circular). - Доступность: Для скринридеров рекомендуется устанавливать
spinner.isAccessibilityElement = trueиspinner.accessibilityLabel = "Загрузка".