MacOS 动画延迟 swift
MacOS Animation delay in swift
是否可以使用 Cocoa 为动画添加延迟?
在我当前的代码中,它显示 window 并使用淡入淡出动画将其隐藏。我想做的是在淡入淡出动画之前添加一个延迟。
@IBAction func doIt(_ sender: NSButton) {
openPanel()
NSAnimationContext.runAnimationGroup { (cont) in
cont.duration = 1.0
self.panel.animator().alphaValue = 0
}
//hide on completion
}
在 DispatchQueue 异步调用中包装您想要延迟的内容:
DispatchQueue.main.asyncAfter(deadline: .now() + 1) { //delays 1 second
//code to delay
}
是否可以使用 Cocoa 为动画添加延迟? 在我当前的代码中,它显示 window 并使用淡入淡出动画将其隐藏。我想做的是在淡入淡出动画之前添加一个延迟。
@IBAction func doIt(_ sender: NSButton) {
openPanel()
NSAnimationContext.runAnimationGroup { (cont) in
cont.duration = 1.0
self.panel.animator().alphaValue = 0
}
//hide on completion
}
在 DispatchQueue 异步调用中包装您想要延迟的内容:
DispatchQueue.main.asyncAfter(deadline: .now() + 1) { //delays 1 second
//code to delay
}