如何根据中心倾斜NSView?

时间:2016-11-03 09:12:49

标签: swift macos core-animation nsview

如何根据其中心倾斜NSView

let view = NSView(frame: frame)
self.view.addSubView(view)
view.frameCenterRotation = -3.0

这会根据原点而不是其中心倾斜。

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

CALAyer方法:

var transform = CGAffineTransform.identity
let radians:CGFloat = rotation / 180.0 * CGFloat.pi
transform = CGTransform.rotateAroundPoint(transform, radians,pivot)
view.layer?.setAffineTransform(transform)

SideNote 1: 您可以使用view.setBoundsOrigin(pivot)+ view.rotate(byDegrees:rotation)执行此操作(但是您必须考虑到如果您翻转坐标sys,那么您还必须考虑这一点)

SideNote 2: 使用CALayer进行操作也可以实现未来的动画