在NSWindow调整大小后,NSView扭曲了

时间:2015-02-17 19:29:55

标签: macos swift nsview nswindow animator

我正在使用animator()在我的应用的框架(子视图)之间滚动NSScrollView。当动画发生并且我调整NSWindow的大小时,整个NSView会像这样被扭曲:

NSView gets distorted during NSWindow resize

以下是负责过渡的代码:

func goToFrame(frameNumber: Int) {
    dispatch_async(dispatch_get_main_queue(), {
        var clipView: NSClipView = self.container.contentView
        newOrigin: NSPoint = clipView.bounds.origin
        newOrigin.x = CGFloat(self.viewWidth * frameNumber)

        NSAnimationContext.beginGrouping()
        NSAnimationContext.currentContext().duration = 0.4
        self.container.contentView.animator().bounds.origin = newOrigin
        self.container.reflectScrolledClipView(self.container.contentView)
        NSAnimationContext.endGrouping()
    })
}

知道为什么会这样做吗?我没有在日志中收到任何警告。

1 个答案:

答案 0 :(得分:0)

Ken Thomases在评论中回答:

这一行:

self.container.contentView.animator().bounds.origin = newOrigin

应更改为:

self.container.contentView.animator().setBoundsOrigin(newOrigin)