Swift NSView的动画大小调整不会影响图层。错误还是完全正确?

Swift NSView的动画大小调整不会影响图层。错误还是完全正确?,swift,nsview,layer,nsanimationcontext,Swift,Nsview,Layer,Nsanimationcontext,我有两个NSView子类: DrawRectView仅使用drawRect方法绘制背景色 LayerBackedView还使用图层背景绘制背景色 以下代码片段通过视图上的单击操作来调整动画的大小: @IBAction func clickDrawRectView(sender: NSClickGestureRecognizer) { let height = drawRectView.frame.height * 1.2 let width = drawRectView.f

我有两个NSView子类:

  • DrawRectView
    仅使用drawRect方法绘制背景色
  • LayerBackedView
    还使用图层背景绘制背景色
以下代码片段通过视图上的单击操作来调整动画的大小:

@IBAction func clickDrawRectView(sender: NSClickGestureRecognizer) {
    let height = drawRectView.frame.height * 1.2
    let width  = drawRectView.frame.width * 1.2
    NSAnimationContext.runAnimationGroup({ (context) in
        context.duration = 1.0
        self.drawRectView.animator().frame = NSMakeRect(self.drawRectView.frame.origin.x, self.drawRectView.frame.origin.y, width, height)
    }, completionHandler: nil)
}

@IBAction func clickLayerBackedView(sender: NSClickGestureRecognizer) {
    let height = layerBackedView.frame.height * 1.2
    let width  = layerBackedView.frame.width * 1.2
    NSAnimationContext.runAnimationGroup({ (context) in
        context.duration = 1.0
        self.layerBackedView.animator().frame = NSMakeRect(self.layerBackedView.frame.origin.x, self.layerBackedView.frame.origin.y, width, height)
    }, completionHandler: nil)
}
DrawRectView会按预期设置动画,但LayerBackedView不会。它只是跳转到下一个带有任何动画的矩形


那么,如何将相同的动画添加到图层备份视图中?

这是一个老问题,但您找到答案了吗?看来我遇到了同样的问题。。。。提前谢谢。