Индикатор неопределенной активности дизайна материала не остается до загрузки данных

Я кодировал индикатор активности на основе Примера дизайна материала и публикации из Переполнения стека. Мой полученный код:

@IBAction func optionA(_ sender: Any) {
        print("Called")
        var overlayView : UIView? //create overlay
        overlayView = UIView(frame: view.frame)
        overlayView?.frame = CGRect(x: 0, y: 0, width: 80, height: 80)
        overlayView?.center = view.center
        overlayView?.clipsToBounds = true
        overlayView?.layer.cornerRadius = 10
        overlayView?.backgroundColor = UIColor(white: 0x444444, alpha: 0.7) //above code is giving dimensions and other features to overlay
        view.addSubview(overlayView!) //starts overlay

        let activityIndicator = MDCActivityIndicator(frame: CGRect(x: 0, y: 0, width: 32, height: 32)) //create activity indicator
        view.addSubview(activityIndicator) //start activity indicator

        activityIndicator.startAnimating() //start activity indicator animation

            [...] // I think code here is not relevant but if needed I can add it.

 DispatchQueue.main.asyncAfter(deadline: .now() + .seconds(10), execute: { //delay for ten seconds
                activityIndicator.stopAnimating() //stop activity indicator from animating
                overlayView?.removeFromSuperview() //stop overlay from overlaying
                print("Option A was chosen ", PollViewController.retrieveOptionA, " times")
                print("Option B was chosen ", PollViewController.retrieveOptionB, " times")
                print("Option C was chosen ", PollViewController.retrieveOptionC, " times")
                print("Option D was chosen ", PollViewController.retrieveOptionD, " times")
                print("Option E was chosen ", PollViewController.retrieveOptionE, " times")
                })

Однако, когда я запускаю его, я получаю это в результате:

введите описание изображения здесь

* примечание: в этом GIF есть длинная пауза, просто терпите - вот почему я хочу индикатор активности

Как видно, индикатор активности появляется только на долю секунды - уходя до того, как результаты даже показывают. Почему это происходит? Как я могу это исправить?

0 ответов

Другие вопросы по тегам