使用Cocoa以编程方式创建复选框

时间:2009-09-10 22:21:36

标签: macos cocoa checkbox

我需要在Cocoa中以编程方式创建一个复选框,当我尝试创建一个buttonType设置为NSSwitchButton的按钮时,它会显示标题,但不会将该按钮显示为复选框。我想我错过了一些东西,但是在没有使用Xcode GUI的情况下我找不到任何关于制作复选框的资源。

3 个答案:

答案 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,这导致复选框无法显示。