我需要在Cocoa中以编程方式创建复选框,当我尝试使用buttonType
设置为NSSwitchButton
的按钮时,它会显示标题,但不会将按钮显示为复选框。我认为我漏掉了一些东西,但是我找不到任何关于不使用Xcode GUI创建复选框之类内容的资源。
这个问题有点老了,所以你可能已经知道答案了,但是我在搜索这个确切的事情时找到了它。 Alex 跳来跳去地绕着解决方案,但实际上并没有提供解决方案。因此,为了谷歌和全人类:如何在 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];
我认为在程序动态创建按钮时,默认情况下不会有边框。请查看setBezelStyle:
方法,以及setBezeled:
和setBordered:
方法。其中一个应该可以满足您的需求。
我没有正确执行setImagePosition,这导致复选框无法显示。