核心动画,Swift:如何为 NSWindow 设置动画

ast*_*007 0 core-animation nswindow swift

我正在尝试使用 Swift 增加 NSWindow 的大小。(苹果电脑)

现在,我可以在没有动画的情况下做到这一点,但我不确定如何使用动画来做到这一点。

A. 我会对代码感兴趣。

B. 如果有教程或书籍,是否可以删除链接。

Eri*_*rik 6

以下代码将窗口的高度增加了 50 个像素,并将 y 原点减少了相同的数量。这会将窗口放大到屏幕底部。

var windowFrame = self.view.window?.frame
let oldX = windowFrame?.origin.x
let oldY = windowFrame?.origin.y
let oldWidth = windowFrame?.size.width
let oldHeight = windowFrame?.size.height
let toAdd = CGFloat(50.0)
let newY = oldY! - toAdd
let newHeight = oldHeight! + toAdd
windowFrame? = NSMakeRect(oldX!, newY, oldWidth!, newHeight)
self.view.window?.animator().setFrame(windowFrame!, display: true, animate: true)
Run Code Online (Sandbox Code Playgroud)

你必须调用窗口的动画师来获得动画(潜在的错误?)。这不会产生动画:

self.view.window?.animator().setFrame(windowFrame!, display: true, animate: true)
Run Code Online (Sandbox Code Playgroud)