簡體   English   中英

NSPushOnPushOffButton沒有停留“推入”

[英]NSPushOnPushOffButton Not Staying “Pushed In”

我正在嘗試以編程方式向視圖添加一個按鈕,我希望它在單擊時保持“推入”狀態,直到再次單擊它。 從我所看到的,似乎用於此的按鈕將是NSPushOnPushOffButton 這是Apple對它的描述:

第一次單擊兩個高亮顯示,如果按鈕邊界,則按鈕被“推入”; 第二次單擊將其返回到正常狀態。 此選項在Interface Builder的Button Inspector中稱為“Push On Push Off”。

它沒有在我的程序中工作所以我制作了一個SSCCE,我將在下面包含。 我的問題是點擊時按鈕沒有停留,而是像普通按鈕一樣彈出。 我不確定我是否遺漏了關於這個按鈕應該如何執行的內容,或者我是否只是錯誤地實現它(這是我第一次嘗試以編程方式執行UI),但其他按鈕類型如此因為NSToggleButton工作所以除非有一些關於NSPushOnPushOffButton特別之處, NSPushOnPushOffButton我看不出哪里出錯了。 如果有人可以建議一個更好的解決方案或解釋我哪里出錯將會很好。 謝謝!

#import "AppDelegate.h"

@implementation AppDelegate

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
    NSRect buttonFrame = NSMakeRect(0,0,200,200);
    NSButton *button = [[NSButton alloc]initWithFrame:buttonFrame];
    [self.window.contentView addSubview:button];
    [button setButtonType:NSPushOnPushOffButton];
}

@end

例如,您似乎必須設置“擋板樣式”

[button setBezelStyle:NSRegularSquareBezelStyle];

將其添加到示例代碼后,它按預期工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM