cocoa – 如何将NSProgressIndicator旋转90度

我需要将NSProgressIndicator旋转90度.

《cocoa – 如何将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];

我得到不恰当的结果:
《cocoa – 如何将NSProgressIndicator旋转90度》

此代码在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来说对我有用.

点赞