Вы можете использовать UIActivityIndicator
для такого рода требований.
Добавьте UIActivityIndicator
в viewController
в storyboard
и создайте outlet
в viewController's
классе.
@IBOutlet weak var activityIndicator: UIActivityIndicatorView!
После нажатия loginButton
,
- Набор
self.loginButton.isEnabled = false
- Начать анимацию
activityIndicator
, используя activityIndicator.startAnimating()
После выполнения фоновой работы
- Набор
self.loginButton.isEnabled = true
- Прекратить анимацию
activityIndicator
с помощью activityIndicator.stopAnimating()
Пример:
@IBAction func loginButtonTapped(_ sender: UIButton) {
sender.isEnabled = false
self.activityIndicator.startAnimating()
//Your background task
URLSession.shared.dataTask(with: URL(string: "")!) { (data, response, error) in
//Callback after the task is finished
DispatchQueue.main.async {[weak self] in
self?.activityIndicator.stopAnimating()
sender.isEnabled = true
}
}
}