當我單擊它們時,我編程式創建的按鈕基本上不會被按下。任何想法爲什麼?沒有任何反應,動作不會觸發,圖像不會變爲替代圖像等。以編程方式創建的NSButtons不會按
(我正在使用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];
添加了這些,它沒有做任何事情。按鈕仍然不「按」。 – arooo
這是工作,按鈕的顏色從紅色變爲綠色。 –
當我將它添加到窗口的內容視圖時,這起作用。我試圖將它添加到NSTableHeaderView,這可能是爲什麼?我所有的原始代碼似乎在普通視圖中工作,但打破了我將它添加到NSTableHeaderView的時刻 – arooo