NSButton并不总是响应鼠标点击

时间:2012-04-19 15:12:37

标签: cocoa onclick transparency nsbutton

这是我的问题,我有一个无笔尖的应用程序,这个应用程序显示(具有淡入/淡出效果)NSWindow,看起来像10.8通知。

在此通知中,我有2个NSButton,它们以编程方式创建:

    NSImage *btnNeutral = [[NSImage imageNamed:@"btn-toaster-n.png"] retain];
    [btnNeutral setTemplate:NO];
    NSImage *btnPressed = [[NSImage imageNamed:@"btn-toaster-clic.png"] retain];
    [btnPressed setTemplate:NO];

    m_connectButton = [[NSButton alloc] initWithFrame:NSMakeRect(284, 49, 77, 22)];
    [m_connectButton setTarget:self];
    [m_connectButton setAction:@selector(connect:)];
    [m_connectButton setImage:btnNeutral];
    [m_connectButton setAlternateImage:btnPressed];
    [m_connectButton setButtonType:NSMomentaryChangeButton];
    [[m_connectButton cell] setImageDimsWhenDisabled:NO];
    [m_connectButton setBordered:NO];
    [m_connectButton setFocusRingType:NSFocusRingTypeExterior];
    [m_connectButton setTitle:Localizer::getInstance()->getLocalizedString(@"SYSTRAY_BALLOON_CONNECT_ACTION")];
    [m_connectButton setEnabled:YES];
    [self addSubview:m_connectButton];

注意:我的NSWindow是透明的,我的NSView是透明的,但是像我的按钮那样带有NSImage皮肤。

问题:当我点击其中一个按钮时,它会在5次中有1次...

问题出在哪里?线程问题?透明度?

感谢您的投入!

@Rob Keniger :是的我有一个runloop,我用这个启动我的应用程序:

[NSApplication sharedApplication];

我还有一个动态的NSMenuBar就是那个可以正常工作的应用程序。

修改 我找到了一个解决方法,但我想知道我在这里缺少什么。我只是将按钮的初始化从我的自定义视图的initWithFrame方法放到我的窗口的initWithContentRect方法来托管这个相同的视图。 知道它为什么会这样运作吗?

0 个答案:

没有答案