我需要在Cocoa中以编程方式创建一个复选框,当我尝试创建一个buttonType
设置为NSSwitchButton
的按钮时,它会显示标题,但不会将该按钮显示为复选框。我想我错过了一些东西,但是在没有使用Xcode GUI的情况下我找不到任何关于制作复选框的资源。
答案 0 :(得分:37)
这个问题有点旧,所以你可能已经弄清楚了,但我在搜索这个问题时发现了它。亚历克斯在没有实际提供解决方案的情所以在这里,谷歌和全人类:如何以编程方式在Cocoa中创建一个复选框。
NSRect frame;
frame.size.width = frame.size.height = 18;
NSButton *myCheckBox = [[NSButton alloc] initWithFrame:frame];
[myCheckBox setButtonType:NSSwitchButton];
[myCheckBox setBezelStyle:0]; // This is unnecessary. I include it to show that checkboxes don't have a bezel style.
[myView addSubview:myCheckBox];
答案 1 :(得分:3)
我不认为在以编程方式创建时默认情况下会关闭按钮。检查setBezelStyle:
方法,以及setBezeled:
和setBordered:
。其中一个应该给你你想要的东西。
答案 2 :(得分:1)
我无法正确执行setImagePosition,这导致复选框无法显示。