我有一个简单的Swift macOS应用程序(使用Xcode8.2.1),其中包含一个NSButton。当我单击该按钮时,我希望它在指定的时间内淡出。我认为我可以使用NSAnimationContext,但是无论我设置context持续时间是什么值,按钮几乎立即就会淡出。这不是正确的做法吗?
class ViewController: NSViewController {
@IBOutlet weak var basicButton: NSButton!
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func basicButtonClicked(_ sender: NSButton) {
NSAnimationContext.runAnimationGroup({ (context) in
context.duration = 10.0
self.basicButton.animator().alphaValue = 1
}) {
self.basicButton.animator().alphaValue = 0
}
}
}发布于 2017-02-09 21:05:27
我误解了动画制作人的值在动画中是如何工作的。正确的设置方法是:
@IBAction func basicButtonClicked(_ sender: NSButton) {
NSAnimationContext.runAnimationGroup({ (context) in
context.duration = 10.0
// Use the value you want to animate to (NOT the starting value)
self.basicButton.animator().alphaValue = 0
})
}https://stackoverflow.com/questions/42136380
复制相似问题