如何将 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 上有用。
我需要将 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 上有用。