swift - 计时器不会在 CollectionView 中正确更新 Swift

标签 swift uicollectionview

我在计时器的 Collection View 中有一个计时器,它会滴答作响,但每次我滑动时,在滑动中间,计时器就会停止 enter image description here

正如您在图片中看到的那样,当您滑动时计时器静止不动,它只会在您完成滑动时开始滴答作响。这是代码:

timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(QuestionsViewController.update), userInfo: nil, repeats: true) self.navigationItem.setHidesBackButton(true, animated: true)

func update() {
    if counter >= 0 {
        self.title = "Time Left: \(String(self.counter))"
        counter -= 1
    } else {
        alert()
        timer!.invalidate()
    }

}

我做错了什么?

最佳答案

我建议将计时器添加到主运行循环中:

RunLoop.main.add(timer, forMode: .commonModes)

关于swift - 计时器不会在 CollectionView 中正确更新 Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45516516/

相关文章:

ios - animateWithDuration 一个接一个

ios - 动画约束相对于另一个约束

SwiftUI 包装 UICollectionView 并使用组合布局

ios - Swift 4.2 如果让 Xcode 11.2 上的 CMTime 失败

objective-c - UICollectionView 列网格间隙

swift - 如何在 Swift 中为 UICollectionViewCell 制作动画?

ios - 当所有单元格的大小不同时,如何使 UICollectionView 的单元格换行?

ios - UICollectionView 无法显示所有内容

ios - 不支持将协议(protocol)用作符合 'AnyObject' 的具体类型

ios - UICollectionView从纵向到横向