NSWindow 调整大小后 NSView 变形

NSView distorted after NSWindow resized

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

这是负责转换的代码:

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()
    })
}

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

Ken Thomases 在评论中回答:

这一行:

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

应改为:

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