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

问题描述 投票:18回答:3

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

macos cocoa checkbox
3个回答
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];

3
投票

我不认为在以编程方式创建时默认情况下会关闭按钮。检查setBezelStyle:方法,以及setBezeled:setBordered:。其中一个应该给你你想要的。


1
投票

我无法正确执行setImagePosition,这导致复选框无法显示。

© www.soinside.com 2019 - 2024. All rights reserved.