При вызове SwiftSpinner на viewDidLoad
Swift spinner не работает
Пожалуйста, найдите ниже код, который я использую,
override func viewDidLoad() {
super.viewDidLoad()
DispatchQueue.global(qos: .background).async {
self.basicSync {(isSynced) in
DispatchQueue.main.async {
SwiftSpinner.hide()
}
}
}
DispatchQueue.main.async {
SwiftSpinner.show("Syncing")
}
}
public func basicSync(completion: @escaping (Bool) -> ()) {
//Sync related work
completion("true")
}
Я не могу найти способ вызвать Swift spinner при начальной загрузке
Некоторые из методов, которые я пробовал с SwiftSpinner.Show из приведенного выше кода
Звонить,
SwiftSpinner.show("Syncing")
Чтобы назвать это основным внутри основного потока
DispatchQueue.main.async {
DispatchQueue.main.async {
SwiftSpinner.show("Syncing")
}
}
DispatchQueue.main.async {
DispatchQueue.main.async {
DispatchQueue.main.async {
SwiftSpinner.show("Syncing")
}
}
}
Но я не думаю, что это правильный стандарт кодирования, новый для Swift и технологии кодирования.
Попробуйте добавить его в
viewdidappear
У меня была эта проблема раньше, вам нужно сделать следующее
func delay(seconds: Double, completion: @escaping () -> ()) {
let popTime = DispatchTime.now() + Double(Int64( Double(NSEC_PER_SEC) * seconds )) / Double(NSEC_PER_SEC)
DispatchQueue.main.asyncAfter(deadline: popTime) {
completion()
}
}
затем в поле зрения загрузился
override func viewDidLoad() {
super.viewDidLoad()
delay(seconds: 0.5) {
SwiftSpinner.show("Syncing")
}
}
Вот оно: Д
хм, по моему опыту, и эта проблема со всеми HUD выглядит так, как будто у них у всех одна и та же проблема, не только это, что-то, что-то имеет вид ограничения макета анимации, что-то меняется, даже градиент не будет работать, если вы поместите его внутри viewdidload , так что сделайте задержку, чтобы экран может загрузить все, размер пользовательского интерфейса и т. д., тогда он работает, что-то еще, что-то странное на данный момент:/
Спасибо, все работает отлично, если я правильно понимаю, что вызов main сразу после синхронизации был проблемой, и вы добавили время задержки для вызова Spinner в основном потоке, я прав? Я новичок в среде кодирования и пытаюсь понять код. Почему необходимо звонить с опозданием?