NSButton RadioGroup(NSMatrix 替代方案)

2024-01-02

我已经尝试了几次设置几个类似的按钮,所有按钮都连接到相同的 IBActions,但似乎仍然无法复制 RadioButton 行为。

目前,我有 5 个 Button,它们都是一个 NSView 的子级。

NSView
    - ButtonOne - NSButton (Square Button)
    - ButtonTwo - NSButton (Square Button)
    - ButtonThree - NSButton (Square Button)
    - ButtonFour - NSButton (Square Button)
    - ButtonFive - NSButton (Square Button)

它们都连接到一个通用的 IBAction,其内容如下:

@IBAction func activityButtonPressed(sender: NSButton) {

    println("\(sender.title) Pressed")

}

其工作原理是捕获实际的 mouseDown 事件并将其发送到 func (如预期的那样)。

如何让它们在单选按钮模式下工作?即,当单击各个按钮时,它们的 NSOnState 和 NSOffState 会切换吗?

当我尝试将按钮类型更改为单选按钮时,它会自动翻转回“切换”......

Cheers,

A


只需给 NSRadioButtons 相同的超级视图和操作即可。正如 Good Doug 在他的回答中指出的那样,

[...]如果您使用方形按钮样式,则不能使用单选按钮类型。您想在 Interface Builder 中使用 On Off 类型。

我真的不认为你想让你的操作方法设置组中所有按钮的状态......让 AppKit 为你做这件事。

From OS X 开发人员发行说明:Cocoa 应用程序框架(10.10 及更早版本) https://developer.apple.com/library/mac/releasenotes/AppKit/RN-AppKitOlderNotes/

配置为单选按钮(将 -buttonType 设置为 NSRadioButton)的 NSButton 现在将在 10.8 及更高版本上链接的应用程序的单选按钮组中运行。要让按钮在单选组中工作,请对每个 NSButton 实例使用相同的 -action,并为每个按钮使用相同的超级视图。当满足这些条件时,选中一个按钮(通过将 -state 更改为 1),将取消选中所有其他按钮(通过将其 -state 设置为 0)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NSButton RadioGroup(NSMatrix 替代方案) 的相关文章

随机推荐

  • Spring 在负载下会将对象刷新到磁盘吗?

    SonarQube 在我们的代码库中创建了一个问题 squid S1948 可序列化类中的字段本身必须是可序列化的或瞬态的 即使该类从未显式序列化或反序列化 这是因为在负载下 大多数 J2EE 应用程序框架都会将对象刷新到磁盘 而具有非瞬态
  • 有效存储棋局

    我已经阅读了大量与此问题相关的网络点击 但仍然没有找到任何明确的答案 我想做的是建立一个国际象棋棋局数据库 能够识别换位 通常是哪些棋子在哪些方格上 编辑 它还应该能够识别相似 但不完全相同 的位置 这是大约 20 年前的讨论 当时空间wa
  • 如何使用 AdaBoost 增强基于 Keras 的神经网络?

    假设我为二元分类问题拟合以下神经网络 model Sequential model add Dense 21 input dim 19 init uniform activation relu model add Dense 80 init
  • 语义 UI 动态下拉菜单

    语义用户界面下拉菜单出现问题 我一直在使用 Semantic Ui 并且想要动态更改下拉项 也就是说 当我从第一个下拉列表中选择值时 第二个下拉列表的项目将会更改 但问题是 当项目改变时 第二个下拉菜单无法选择 该值不会改变 下拉菜单不会折
  • PHP 是否有与 Rails 迁移相当的功能? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 PHP 是否有与 Rails 迁移相当的功能 寻找一个好的解决方案来在本地配置架构更改 然后自动将它们传送到服务器而不丢失数据 我的项目h
  • 查看 YouTube 视频的所有评论

    我正在尝试使用 Java 程序获取 YouTube 视频的所有评论 我无法得到它们 因为它有 显示更多 而不是所有评论 我正在寻找一种方法来获取我可以浏览的所有评论或评论页面 我有一个视频 ID 之类的东西 只需要评论 我已尝试在 URL
  • Chrome.tabs.executeScript - 选项卡未定义

    我正在尝试编写一个 chrome 扩展 其中有一个名为 btn3 的按钮 当我单击 Chrome 扩展程序 popup html 中的该按钮时 它将单击网页上的按钮 网页上的按钮具有以下 id regular secondary butto
  • ViewPager 具有同一类的多个片段实例

    我正在尝试创建一个包含 5 个片段的 ViewPager 5个片段 容器 因此每个片段包含2个片段 前 4 个片段具有相同的布局并且属于同一类 第五个是其他班的 那个班没有问题 问题是 当活动启动时 似乎只有 1 个片段在工作 viewPa
  • 为什么更改 .gwt.xml 文件中的“模块 -> 重命名为”属性会出现错误

    我可以通过自己创建所有文件来创建并运行一个简单的 GWT 应用程序 它工作正常 我能够看到正确的显示 我尝试玩弄代码来增强我的知识 我注意到的是 一旦我运行我的应用程序说模块重命名为 value 测试历史 效果很好 但在那之后如果我改变重命
  • Spark - 提交应用程序时出现错误“必须在您的配置中设置主 URL”

    我有一个 Spark 应用程序 在本地模式下运行没有问题 但在提交到 Spark 集群时遇到一些问题 错误信息如下 16 06 24 15 42 06 WARN scheduler TaskSetManager Lost task 2 0
  • python:模块没有属性 mechanize

    usr bin env python import mechanize mech mechanize Browser page br open SchoolRank KY Gives Traceback most recent call l
  • 如何通过 Intent 在 Android 中打开文件

    如何打开以前存储在 私有 文件系统中的文件 该文件正在由网络服务下载 并应存储在本地文件系统上 尝试通过意图 Action View 打开文件时出现 奇怪 错误 尽管该文件存在于文件系统中 在模拟器 Eclipse 的文件资源管理器中看到该
  • 如何获取导航抽屉中的项目以更改视图

    我想制作一个带有导航抽屉的简单应用程序 它可以打开其他视图 新闻 信息 图库 联系人等 所以我打开了最新的Android Studio 做了一个兼容API8 gt API19的新项目 以获得最大的覆盖范围 我选择了预设的导航抽屉并单击完成
  • 在 Windows 服务中使用 OWIN 托管 WebAPI

    我使用 OWIN 自托管 Web API 在 Windows 服务内 据我了解 这足以使 HTTP 请求到达 Windows 服务 我可以访问 WebAPI URL http localhost users 本地 来自同一台机器 但不是来自
  • Spring @Transactional Timeout 未按预期工作

    我有一个 JDBC 批量更新操作 可能需要很长时间 因此我使用事务超时来处理这个问题 Override Transactional propagation Propagation REQUIRES NEW timeout 10 public
  • Android布局:如何实现类似一副纸牌的UI?

    我需要实现一个类似于 Google Chrome 的选项卡堆栈的布局 如下所示 有可用的库吗 您需要为卡片的每个方面创建一组自定义可绘制对象 并在布局中使用它们 您可以使用表格布局来实现此目的 例如 要放置带角的背景 您可以创建一个可绘制对
  • 一阶逻辑引擎

    我想创建一个可以使用一阶逻辑进行简单推理的应用程序 谁能推荐一个可以接受任意数量的 FOL 表达式并允许查询这些表达式 最好通过 Python 访问 的 引擎 除非绝对必要 否则不要使用一阶逻辑 FOL 进行查询 一阶逻辑不可判定 而只是半
  • Parsley:按下提交以外的按钮时如何防止验证?

    感谢您的任何帮助 我正在尝试使用欧芹进行表单验证 我的表单有一个提交按钮和一些其他按钮 用于动态向表单添加输入 但是当我按下这些其他按钮时 就会执行表单验证 但我没有提交任何表格 当我按提交按钮以外的其他按钮时 如何防止发生表单验证 抱歉
  • 将packages.config更改为somethingelse.config

    我创建了一个 ASP NET MVC 4 5 应用程序 现在我想将packages config更改为mypackages1 config 文件的简单重命名 我编辑了 csproj 文件并按照提到的方式重命名 我如上所述重命名了packag
  • NSButton RadioGroup(NSMatrix 替代方案)

    我已经尝试了几次设置几个类似的按钮 所有按钮都连接到相同的 IBActions 但似乎仍然无法复制 RadioButton 行为 目前 我有 5 个 Button 它们都是一个 NSView 的子级 NSView ButtonOne NSB