如何将 NSProgressIndicator 旋转 90 度

How to rotate NSProgressIndicator by 90 deg

我需要将 NSProgressIndicator 旋转 90 度。

当我使用以下代码时:

[self.progressIndicator1 setWantsLayer:NO];
[self.progressIndicator1 setFrameCenterRotation:90];
[self.progressIndicator1 setMinValue:0];
[self.progressIndicator1 setMaxValue:100];
[self.progressIndicator1 setDoubleValue:50];
[self.progressIndicator1 displayIfNeeded];

[self.progressIndicator2 setWantsLayer:NO];
[self.progressIndicator2 setFrameCenterRotation:90];
[self.progressIndicator2 displayIfNeeded];

我得到不合适的结果:

此代码在 OS X Yosemite 上运行良好,但在 OS X El Capitan 上运行不正常。

我该如何解决?

如果您的进度指示器包含在一个视图中,那么如果您允许该视图的 wantsLayer,您的代码将起作用。

self.view.wantsLayer = YES;
self.progressBar1.doubleValue = 60.0;
self.progressBar2.doubleValue = 60.0;

[self.progressBar1 setWantsLayer:NO];
[self.progressBar1 setFrameCenterRotation:90];

[self.progressBar2 setWantsLayer:NO];
[self.progressBar2 setFrameCenterRotation:90];
[self.progressBar2 displayIfNeeded];

这对我在 El Capitan 上有用。