Rob*_*eph 5 animation nsview nsanimationcontext swift swift3
我有一个简单的Swift macOS应用程序(使用Xcode 8.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
}
}
}
Run Code Online (Sandbox Code Playgroud)
我误解了动画师值在动画过程中是如何工作的。正确的设置方法是:
@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
})
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1149 次 |
| 最近记录: |