相关疑难解决方法(0)

NSStatusItem中的NSProgressIndicator

我有NSStatusItem与自定义NSView显示图像.无论菜单是否打开,它都会显示不同的图像:

 isMenuVisible = NO;

- (void)awakeFromNib {

statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength];
[statusItem retain];

dragStatusView = [[DragStatusView alloc] init];
[dragStatusView retain];
dragStatusView.statusItem = statusItem;
[dragStatusView setMenu:statusMenu];
[dragStatusView setToolTip:NSLocalizedString(@"Menubar Countdown",
                                             @"Status Item Tooltip")];
[statusItem setView:dragStatusView];
[dragStatusView setTitle:@"11"];
}

- (void)drawImage:(NSImage *)aImage centeredInRect:(NSRect)aRect{
NSRect imageRect = NSMakeRect((CGFloat)round(aRect.size.width*0.5f-aImage.size.width*0.5f),
                              (CGFloat)round(aRect.size.height*0.5f-aImage.size.height*0.5f),
                              aImage.size.width, 
                              aImage.size.height);
[aImage drawInRect:imageRect fromRect:NSZeroRect operation:NSCompositeSourceOver  fraction:1.0f];
}

- (void)drawRect:(NSRect)rect {
// Draw status bar background, highlighted if menu is showing
[statusItem drawStatusBarBackgroundInRect:[self bounds]
                            withHighlight:isMenuVisible];




if(isMenuVisible) {
    [self drawImage:image2 centeredInRect:rect];
}else {
    [self drawImage:image1 …
Run Code Online (Sandbox Code Playgroud)

cocoa menubar nsview nsstatusitem nsprogressindicator

0
推荐指数
1
解决办法
1345
查看次数