- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对 swift 比较陌生,想知道是否有人可以帮助解决这个问题。
我试图在服务调用期间将按钮上的标签更改为加载微调器,然后在不久之后更改为该调用的响应消息。
我在日志中收到此错误:
CoreAnimation:警告,已删除具有未提交 CATransaction 的线程;在环境中设置 CA_DEBUG_TRANSACTIONS=1 以记录回溯。
感谢您的帮助。我已经阅读了这些核心动画错误,但我不确定我做错了什么,因为这里的所有内容都是异步完成的。
这是更正后的代码,感谢@Pierce:
self.pastebinButton.isEnabled = false
self.pastebinButton.title = ""
self.pastebinProgressIndicator.startAnimation(nil)
pastebinAPI.postPasteRequest(urlEscapedContent: urlEscapeText(txt: text)) { pasteResponse in
DispatchQueue.main.async {
self.pastebinProgressIndicator.stopAnimation(nil)
if pasteResponse.isEmpty {
self.pastebinButton.title = "Error"
} else {
self.pastebinButton.title = "Copied!"
}
}
DispatchQueue.main.asyncAfter(deadline: .now() + .seconds(2), execute: {
self.pastebinButton.title = "Pastebin"
self.pastebinButton.isEnabled = true
})
最佳答案
因此,您甚至在移出主线程之前就调用了 DispatchQueue.main.async
。这是不必要的。此外,一旦您在后台线程上工作,您就会更新一些 UI(您的按钮标题),而无需分派(dispatch)回主线程。切勿在后台线程上更新 UI。
if !text.trimmingCharacters(in: NSCharacterSet.whitespacesAndNewlines).isEmpty {
self.pastebinButton.title = ""
self.pastebinProgressIndicator.startAnimation(nil)
pastebinAPI.postPasteRequest(urlEscapedContent: urlEscapeText(txt: text)) { pasteResponse in
// Clean up your DispatchQueue blocks
DispatchQueue.main.async {
self.pastebinProgressIndicator.stopAnimation(nil)
if pasteResponse.isEmpty {
self.pastebinButton.title = "Error"
} else {
self.pastebinButton.title = "Copied!"
}
}
DispatchQueue.main.asyncAfter(deadline: .now() + .seconds(2), execute: {
self.pastebinButton.title = "Pastebin"
self.pastebinButton.isEnabled = true
})
}
} else {
Utility.playFunkSound()
}
关于swift - UI 快速更改,CoreAnimation : warning, 删除了未提交 CATransaction 的线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41652726/
就在appdelegates中,applicationDidBecomeActive。我创建并启动一个线程,这个线程等待异步下载然后保存数据: - (void)applicationDidBecom
我有一个非常简单的 CA 演示。它使用图像文件中的内容创建一个图层,并显示该图像。当您在窗口中单击时,它会使用隐式动画将图像平滑地移动到鼠标点。这工作正常,运行完美流畅。但是,随着窗口变大,平滑度会变
我有一个 CALayer A 和一个子层 B我想要调整 A 的大小(缩小),所以我将动画添加到我的图层 A但是当我提交动画子层 B 时并没有缩小。它的大小保持不变(但它的位置随着其 super 层边界
我正在尝试对图层的背景颜色从红色到蓝色进行简单的 CABasicAnimation。 添加动画并设置模型层的最终值后,动画闪烁为蓝色,然后再次变为红色,并动画为蓝色。 我的代码是: override
我经常面临对 View 进行动画处理并将其恢复到其原始值的要求。 (类似于在 Tap 上放大 UIImageView 并返回) 是否有更优雅的解决方案来跟踪原始值,而不是创建类字段并在 viewDid
我目前正在这样做: NSData *response = [NSURLConnection sendSynchronousRequest:request returningRespon
我想做的是左右旋转 View ,同时上下移动它的位置。 这是我的代码: CGAffineTransform leftWobble = CGAffineTransformRotate(CGAffineT
我有一个 CAKeyframeAnimation,它在风景中看起来很棒,但是当设备旋转时,与其余内容相比,动画当然不合适。有没有办法调整(缩放)正在进行的动画的路径? 编辑:添加代码
我正在尝试从 UIView vertical flip animation 的答案中运行代码问题,我在 Xcode 中不断收到此错误: error: Semantic Issue: Assigning
我正在尝试创建一个相当简单的 CoreAnimation 以用于 AVComposition。我的目标是创建一个 CALayer,它通过各种子层淡入淡出标题,然后淡入淡出图像。基本上是幻灯片。这正在使
布局 在uiview中与位置,尺寸有关的属性有 frame bounds center在此不多赘述,在calayer中同样有与其相对应的属性 frame bounds position 需要注意的
CoreAnimation(一)CALayer CoreAnimation 算是一个大话题 ,要实现很多炫酷的动画,必须掌握它,掌握它之前 ,先来了解CALayer — 图层 CALayer 我们平常
当核心动画在其上运行时,是否可以将一个 View 保留在另一个 View 之上? 我正在从顶部和底部滑入和滑出 View 。目前,滑出的 View 滑过当前可见的所有其他 View 的顶部,我想知道是
我正在尝试绘制一个棱镜并使用 CoreAnimation 对其进行动画处理。但我找不到一个好的解决方案来绘制彩虹色的扇子。 有几种方法可以做到这一点,每种方法都有缺点: 我可以简单地使用图像。但我允许
我凭经验接近核心动画和绘图。我正在尝试为一个简单的形状设置动画;所讨论的形状由 3 条线加上一条贝塞尔曲线形成。还绘制了一条红线,以显示曲线控制点。 alt text http://img.skitc
我正在尝试执行一些全屏动画效果,例如移动/缩放窗口以及文件如何“跳转”到 Safari 中的下载文件夹的效果。 我的第一次尝试是使用 NSImageView 内容 View 创建窗口,并使用 Core
我正在创建一个自定义(层托管)文档 View ,它包含在 ScrollView 中。根层有两个大小相同的子层——一个用于 View 的内容,另一个用于需要悬停在主要内容上的任何内容。我将框架设置为 2
我正在用核心动画做一些动画,但我找不到一种方法来知道动画 block 何时完成的通知或事件,就像在 UIVIew 动画 block 中一样 setAnimationDidStopSelector: 我
我希望有一个倒计时指示器,就像一个圆圈,从一段拱形开始到一个完整的圆圈。 我试了好几种方法,最后都是拱形直接转成一个完整的圆,而不是顺时针转。演示图片如下: 有什么想法吗?非常感谢! 最佳答案 Set
出于各种原因,我使用 CADisplayLink 手动制作动画: - (void)update:(CADisplayLink *)sender; { // Linearly interpola
我是一名优秀的程序员,十分优秀!