Как приостановить любое другое действие в контроллере представления после нажатия кнопки? - PullRequest
0 голосов
/ 03 октября 2019

Я работаю над пользовательскими данными, которые будут обновляться в firestore после нажатия кнопки. Я использую SVProgressHUD для прогресса, что должно означать, что есть активность, допустимая до тех пор, пока первое действие не будет выполнено полностью. но даже после использования SVProgressHud кнопка нажимается, и она повторяет пользовательские данные в базе данных. Я хочу, если после того, как кнопка нажата, никакие другие действия не будут разрешены, пока не будет завершен уже начатый процесс. Как мне поступить

Ответы [ 3 ]

0 голосов
/ 03 октября 2019

Использование MBProgressHUD

Для реализации

let loadingHUD = MBProgressHUD.showAdded(to: view, animated: true)
loadingHUD.mode = MBProgressHUDMode.indeterminate
loadingHUD.label.text = "Loading"

Чтобы закрыть ProgressHUD:

MBProgressHUD.hideAllHUDs(for: view, animated: true)

Вы также можете использовать

func showHUD(progressLabel:String){
    DispatchQueue.main.async{
        let progressHUD = MBProgressHUD.showAdded(to: self.view, animated: true)
        progressHUD.label.text = progressLabel
    }
}

func dismissHUD(isAnimated:Bool) {
    DispatchQueue.main.async{
        MBProgressHUD.hide(for: self.view, animated: isAnimated)
    }
}

https://www.cocoacontrols.com/controls/mbprogresshud

Используйте вышеуказанную ссылку для реализации progresshud и приостановите другие действия на некоторое время.

0 голосов
/ 03 октября 2019

, когда вы звоните SVProgressHUD.show(), звоните view.isUserInteractionEnabled = false

Затем звоните view.isUserInteractionEnabled = true, когда вы звоните SVProgressHUD.dismiss()

view.isUserInteractionEnabled = false, чтобы отключить взаимодействие пользователя с приложением.

0 голосов
/ 03 октября 2019

Button.isUserInteractionEnabled = false после нажатия кнопки и установите ее значение true, когда задача завершена.

Или установите это свойство для представления, если вы хотите отключить представление целиком.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...