ios - 当应用程序流畅运行时,您如何测试 UIActivityIndi​​catorView 是否在旋转?

标签 ios swift uiactivityindicatorview ios12

我的问题是您看不到 UIActivityIndi​​catorView,因为应用程序运行流畅,所以我不确定代码是否正确。

这里是提到它的所有内容:

@IBOutlet weak var questionLabel: UILabel!
@IBOutlet weak var scoreLabel: UILabel!
@IBOutlet var progressBar: UIView!
@IBOutlet weak var progressLabel: UILabel!
@IBOutlet weak var loadingIndicator: UIActivityIndicatorView!

override func viewDidLoad() {
    super.viewDidLoad()
    loadingIndicator.hidesWhenStopped.toggle()
    nextQuestion()
}

func startOver() {
    loadingIndicator.startAnimating()
    questionNumber = 0
    score = 0
    nextQuestion()
}

func nextQuestion() {
    updateUI()
    loadingIndicator.stopAnimating()
    if questionNumber <= 12 {

func updateUI() {

        scoreLabel.text = "Score: \(score)"

        progressBar.frame.size.width = (view.frame.size.width / 13) * CGFloat(questionNumber)


    }

这不符合顺序。

最佳答案

您可以人为地向 nextQuestion() 添加延迟:

Timer.scheduledTimer(withTimeInterval: 1, repeats: false) { [weak self] _ in
    self?.nextQuestion()
}

DispatchQueue.main.asyncAfter(deadline: .now() + 1) { [weak self] in
    self?.nextQuestion()
}

延迟将使您看到计时器在旋转。更好的方法是将您的服务层隐藏在协议(protocol)后面,然后您可以拥有一个模拟服务层,该服务层在延迟或出错后返回样本数据。这使您可以测试诸如加载动画和错误处理之类的事情。

关于ios - 当应用程序流畅运行时,您如何测试 UIActivityIndi​​catorView 是否在旋转?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55763828/

相关文章:

iOS语音到数字格式的文本转换

ios - 在 CoreML VNCoreMLRequest 之前触发时 ActivityIndi​​cator 不显示

iphone - UIActivityIndi​​catorView 正确使用

ios - 在 UIImageView 中显示事件指示器

ios - OAuthSwift 闭包捕获值不起作用

swift - 更改单条条项目的背景颜色 - swift?

ios - XCode 项目到文本文件的警告和错误

ios - 无法引用 block 内具有可变修改类型的声明

ios - Firebase 实时数据库 iOS 添加记录

javascript - iOS Safari 上的 webkitAudioContext createMediaElementSource 无法正常工作