我需要围绕它的中心扩展NSView。 我尝试使用CATransform3DMakeScale,它努力将视图扩展到它的角落,但我无法实现它的中心。我试图将图层锚点设置为.5,.5,但这不起作用。 我尝试使用scaleUnitSquareToSize,但我遇到了一个问题,即如果没有大量的工作,这似乎是无法解决的。
最后,我需要能够将NSView的比例设置为0.8,并让它在中心周围缩小,并能够再次将比例设置为1以重置它。
答案 0 :(得分:2)
我也遇到过类似的问题。
请确保在构造CABasicAnimation
之前执行该行。
layer.anchorPoint = CGPointMake(.5, .5);
所以,这对我有用。
祝你好运答案 1 :(得分:2)
为@ fyasar的答案添加了一个框架修复,适用于MacOS:
CGRect frame = layer.frame;
layer.anchorPoint = CGPointMake(.5, .5);
layer.frame = frame; // Fix the location shift caused from anchor change
答案 2 :(得分:1)
如果您需要10.8,那么您可以拨打NSScrollView
的功能:
- (void)setMagnification:(CGFloat)magnification centeredAtPoint:(NSPoint)point