gpt4 book ai didi

macos - 定期触发重绘自定义 View

转载 作者:行者123 更新时间:2023-11-28 09:12:49 25 4
gpt4 key购买 nike

我正在使用 Swift 编写一个计时器应用程序作为我的第一个 Cocoa 应用程序,但遇到了一个问题。我使用自定义 View 来显示剩余时间。它工作正常,但是当我按下其中一个按钮时,重绘停止,直到我松开按钮。我想这与我使用 NSTimer 触发 View 绘制的方式有关,这似乎会干扰运行循环。

当按下开始按钮时,会记录当前时间。

startTime = NSDate()
timer = NSTimer.scheduledTimerWithTimeInterval(0.05, target: self,
selector: "update", userInfo: nil, repeats: true)

在更新方法中,耗时被计算并存储在一个属性中,该属性由 View Controller 中的 KVO 监视。告诉 View 重绘的地方。

timerView.needsDisplay = true

更新 View 的正确方法是什么?

Custom View

最佳答案

您只需将计时器添加到 mainRunLoop 模式 NSRunLoopCommonModes:

NSRunLoop.mainRunLoop().addTimer(timer, forMode: NSRunLoopCommonModes)

关于macos - 定期触发重绘自定义 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28612924/

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