当我单击它们时,我以编程方式创建的按钮基本上没有被按下。知道为什么吗?什么都没有发生,动作没有触发,图像没有变成备用图像,等等。
(我正在使用 MomentaryChangeButton 但我已将其设置为 MomentaryPushIn (以检查它是否在推动。这并不令人沮丧。)
NSButton *titleButton = [[NSButton alloc]initWithFrame:NSMakeRect(TITLE_BUTTON_X_OFFSET, TITLE_BUTTON_Y_OFFSET, TITLE_BUTTON_WIDTH, TITLE_BUTTON_HEIGHT)];
[titleButton setBordered:NO];
[titleButton setNeedsDisplay:YES];
[titleButton setImage:[NSImage imageNamed:TITLE_BUTTON_NAME]];
[titleButton setAlternateImage:[NSImage imageNamed:TITLE_BUTTON_PRESSED_NAME]];
[titleButton setButtonType:NSMomentaryChangeButton];
[self addSubview:titleButton];
NSButton *aboutButton = [[NSButton alloc]initWithFrame:NSMakeRect(ABOUT_BUTTON_X_OFFSET, ABOUT_BUTTON_Y_OFFSET, ABOUT_BUTTON_WIDTH, ABOUT_BUTTON_HEIGHT)];
[aboutButton setBordered:NO];
[aboutButton setNeedsDisplay:YES];
[aboutButton setButtonType:NSMomentaryChangeButton];
[aboutButton setImage:[NSImage imageNamed:ABOUT_BUTTON_NAME]];
[aboutButton setAlternateImage:[NSImage imageNamed:ABOUT_BUTTON_PRESSED_NAME]];
[[aboutButton image] setSize:NSMakeSize(ABOUT_BUTTON_WIDTH, ABOUT_BUTTON_HEIGHT)];
[[aboutButton alternateImage]setSize:NSMakeSize(ABOUT_BUTTON_WIDTH, ABOUT_BUTTON_HEIGHT)];
[self addSubview:aboutButton];
NSButton *settingsButton = [[NSButton alloc]initWithFrame:NSMakeRect(SETTINGS_BUTTON_X_OFFSET, SETTINGS_BUTTON_Y_OFFSET, SETTINGS_BUTTON_WIDTH, SETTINGS_BUTTON_HEIGHT)];
[settingsButton setBordered:NO];
[settingsButton setNeedsDisplay:YES];
[settingsButton setButtonType:NSMomentaryChangeButton];
[settingsButton setImage:[NSImage imageNamed:SETTINGS_BUTTON_NAME]];
[settingsButton setAlternateImage:[NSImage imageNamed:SETTINGS_BUTTON_PRESSED_NAME]];
[[settingsButton image] setSize:NSMakeSize(SETTINGS_BUTTON_WIDTH, SETTINGS_BUTTON_HEIGHT)];
[self addSubview:settingsButton];