如何将NSProgressIndicator旋转90度

时间:2015-10-09 10:22:50

标签: cocoa osx-elcapitan nsprogressindicator

我需要将NSProgressIndicator旋转90度。 enter image description here

当我使用以下代码时:

[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];

我得到的结果不合适: enter image description here

此代码适用于OS X Yosemite,但不适用于OS X El Capitan。

我该如何解决?

1 个答案:

答案 0 :(得分:1)

如果您的进度指示器包含在视图中,那么如果您允许该视图的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来说很有用。