gpt4 book ai didi

ios - 快速加载时禁用用户交互

转载 作者:行者123 更新时间:2023-11-29 11:26:51 25 4
gpt4 key购买 nike

我正在我的 ViewController willAppear 方法中进行 API 调用,直到 API 响应完成,我正在使用此 showWait 和 hideWait 方法来显示和关闭事件指示器。但我遇到的问题是,在我的 ViewController 中,我有一个包含不同自定义单元格的 TableView ,假设我在加载过程中不断点击单元格,一旦加载消失,它的所有操作都会被多次调用。下面是我用于显示和隐藏指示器的代码,我尝试将 userInteractionEnabled 设置为 false 但这没有用。此外,尝试了 beginIgnoringInteractionEvents,它在一定程度上起作用,但如果你继续点击直到加载器消失,这也会失败。不知道如何从这里开始。感谢您的帮助。

 class func showWait() {
DispatchQueue.main.async {
UIApplication.shared.beginIgnoringInteractionEvents()
if let appdelegate = UIApplication.shared.delegate as? AppDelegate,
appdelegate.myIndicatorView == nil {
appdelegate.myIndicatorView = MyIndicatorView(frame: UIScreen.main.bounds)
appdelegate.window?.subviews[0].addSubview(appdelegate.myIndicatorView!)
}
}
}

class func hideWait() {
if let appdelegate = UIApplication.shared.delegate as? AppDelegate,
appdelegate.myIndicatorView != nil {
DispatchQueue.main.async {
appdelegate.myIndicatorView?.removeFromSuperview()
appdelegate.myIndicatorView = nil
UIApplication.shared.endIgnoringInteractionEvents()
}
}
}

最佳答案

替换:UIApplication.shared.beginIgnoringInteractionEvents() ->>> self.view.isUserInteractionEnabled = false

UIApplication.shared.endIgnoringInteractionEvents() ->>> self.view.isUserInteractionEnabled = true

关于ios - 快速加载时禁用用户交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57944272/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com