ios - 如何经常更新视图?
问题描述
这就是我尝试在代码中做的事情:
for i in 1...1000000000 {
print(i)
self.title = "\(i)"
}
在控制台上它会打印所有内容,但我在导航栏中看不到任何更新。为什么?
解决方案
实际上你可以看看CADisplayLink
哪个基本上是一个与显示刷新同步的计时器。最基本的形式是这样的:
func createDisplayLink() {
let displaylink = CADisplayLink(target: self, selector: #selector(step))
displaylink.add(to: .current, forMode: .defaultRunLoopMode)
}
@objc func step(displaylink: CADisplayLink) {
// Do the updates
}
注意:请注意,这step
将被调用很多,主要是在每次屏幕更新时,在当前设备上为 60-120 fps。
推荐阅读
- reactjs - 在任何请求和响应之后,调用一个 api
- kubernetes - 自定义 cloudwatch 指标 EKS CloudWatch 代理
- google-chrome-extension - 单击事件不适用于 chrome 扩展的内容脚本上的 gmail 页面
- python - 从字符串列表中删除单引号
- php - 特定图像文件破坏格式,拒绝发布到 PHP
- python - 如何根据字符串合并具有不同长度的两个数据帧包含
- internet-explorer - IE 从 URL 中删除参数
- r - 使用 paste0 通过 for 循环创建多个对象名称
- django - ImportError:没有命名模块。Worker 无法启动
- android - Kotlin:如何以共享首选项删除存储在数组中的项目