【问题标题】:Creating a checkbox programmatically using Cocoa使用 Cocoa 以编程方式创建复选框
【发布时间】:2010-11-27 08:09:57
【问题描述】:

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

【问题讨论】:

  • 不确定为什么该问题被标记为本地化。对问题和答案的投票表明它具有价值。对于 Cocoa 程序员来说,这绝对是一个相关的话题,而不是狭隘的情况。使用 Cocoa 框架在代码中创建控件在许多情况下都非常有用。

标签: macos cocoa checkbox


【解决方案1】:

这个问题有点老了,所以你可能已经弄清楚了,但是我在搜索这个确切的东西时发现了它。亚历克斯在没有实际提供的情况下围绕解决方案跳舞。所以在这里,对于谷歌和全人类:如何以编程方式在 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];

【讨论】:

    【解决方案2】:

    我认为以编程方式创建按钮时,默认情况下不会有边框。检查setBezelStyle: 方法,以及setBezeled:setBordered:。其中之一应该可以满足您的需求。

    【讨论】:

      【解决方案3】:

      我未能正确执行 setImagePosition,这导致复选框不显示。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-13
        相关资源
        最近更新 更多