NSView (AppKit) 动画开始前的延迟

时间:2021-06-04 13:59:18

标签: swift xcode macos

here 中的以下代码显示了如何在 Swift 中为 NSView 进行淡出:

NSAnimationContext.runAnimationGroup({ context in
    context.duration = 1
    self.view.animator().alphaValue = 0
}, completionHandler: {
    self.view.isHidden = true
    self.view.alphaValue = 1
})

我使用此代码显示状态通知 -> 即文本出现,停留几秒钟,然后淡出。有没有办法延迟淡出的开始来实现这一点?

1 个答案:

答案 0 :(得分:2)

<块引用>

有没有办法延迟淡出的开始来实现这一点?

一种方法是使用 NSTimer 在您选择的任何延迟之后运行您的动画。例如,您可以将包含您的代码的块传递给 +scheduledTimerWithTimeInterval:repeats:block:,一旦间隔到期,该块将运行。