我可以使用以下代码向 NSStackView 添加多个 NSTextField:
optionsStackView.addView(newOption, in: .center)
我遇到的问题是让每个 NSTextField (newOption) 在视图出现时一个接一个地出现 - 在使用 NSAnimationContext.runAnimationGroup { (context) in } 时不是一次都出现
let stackViewSubViews = optionsStackView?.arrangedSubviews.enumerated()
stackViewSubViews!.forEach({ newOption in
NSAnimationContext.runAnimationGroup { (context) in
context.duration = 1
newOption.element.animator().alphaValue = 1
}
})
每次 for 循环运行时,我基本上需要延迟半秒,以便为所有 NSTextField 一个接一个地显示一个 NSTextField,但我不知道该怎么做。我看着使用DispatchQueue.main.asyncAfter(deadline: .now() + 0.5)
,但不能完全弄清楚在没有所有东西同时出现的情况下完成这项工作的代码......
我确定我在这里遗漏了一些简单的东西。
有人可以帮忙吗?