1
我想創建一個顯示進度微調器的NSStatusItem
。我的想法是劃分NSProgressIndicator
並將其作爲NSView
傳遞給setView:
。可可狀態欄中的進度微調器
// SpinnerView.h
//#import <Cocoa/Cocoa.h>
@interface SpinnerView : NSProgressIndicator {
NSStatusItem *_statusItem;
BOOL _isHighlighted;
}
- (id)initWithStatusItem:(NSStatusItem *)statusItem;
@end
// SpinnerView.m
#import "SpinnerView.h"
@implementation SpinnerView
- (id)initWithStatusItem:(NSStatusItem *)statusItem {
CGFloat thickness = [[NSStatusBar systemStatusBar] thickness];
NSRect frameRect = NSMakeRect(0.0, 0.0, thickness, thickness);
self = [super initWithFrame:frameRect];
[self setStyle:NSProgressIndicatorSpinningStyle];
[self setControlSize:NSSmallControlSize];
_statusItem = statusItem;
return self;
}
- (void)drawRect:(NSRect)dirtyRect {
NSLog(@"drawRect");
[_statusItem drawStatusBarBackgroundInRect:dirtyRect withHighlight:_isHighlighted];
[super drawRect:dirtyRect];
}
@end
然而,當我這樣做,將顯示旋轉圖標,但被白框包圍:
任何想法,爲什麼出現這種情況,或如何解決呢?如果我註釋掉整個drawRect:
方法,結果是一樣的。
可能的重複:http://stackoverflow.com/questions/2714951 – augurar