问题标签 [nscombobox]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
135 浏览

macos - 当控制键按下时 mouseDown 事件会去哪里?

出于多种原因,我将 NSComboBox 子类化了,包括显示上下文菜单的策略,而操作系统不会向它们添加神秘的东西。(“作为语音轨道添加到 iTunes”???)这是我的鼠标事件方法:

rightMouseDown 方法执行我想要的最后一秒菜单配置。而且我认为(左)mouseDown 方法也可以工作(它的存在只是因为 ctrl-left-click 是右键单击的传统替代方法),除了控制键按下它永远不会看到鼠标事件。该事件似乎通过四处而不是通过我的子类到达超类,因为 NSComboBox 确实显示了一个菜单,而不是我想要的菜单(并且菜单委托不正确,等等)。

我怀疑从苹果鼠标只有一个按钮的时代开始,ctrl-left-click 存在某种遗留传播路径。如果我知道这些事件的指向(我认为它们不会发送到我的 NSPanel),我可能能够拦截它们。有谁知道他们去哪里?NSEvent 文档中有什么我正在盯着看但没有看到的东西吗?

0 投票
0 回答
84 浏览

objective-c - 如何将 NSComboBox 的数据源设置为 plist?

我有一个名为的 plist People.plist,我正在尝试填充一个NSComboBox被调用的nameBox. 我在文档中找不到任何说明如何执行此操作或是否有可能的内容。我认为这很容易,但我似乎无法在任何地方找到任何有效的东西。

如何使用 plist 填充 NSComboBox?

这就是我所拥有的,但它似乎不起作用。

0 投票
0 回答
68 浏览

macos - 使用 NSComboBox 和 controlTextDidEndEditing

我有一个 NSComboBox,我正在尝试让它在用户选择名称时自动输入其他信息(费率、费率类型和国籍)。它有时有效,但在其他时候会导致错误。

这段代码:

导致此错误:

0 投票
2 回答
375 浏览

macos - swift 2 OSX 如何在 NSComboBox.stringValue 更改后执行 comboboxSelectionDidChange?

单击 UI 对象会在其更改之前NSComboBox错误地执行,而不是顾名思义之后执行。它与.comboBoxSelectionDidChange(...).stringValue.comboBoxSelectionIsChanging

实际更改后如何comboBoxSelectionDidChange(...)执行?NSComboBox.stringValue

0 投票
1 回答
356 浏览

objective-c - NSComboBoxCell 子类示例?

我一直在为我的 Cocoa 应用程序开发自定义 UI。通过浏览互联网,我设法学习了如何在 MacOSX 上对大量 UI 对象进行子类化。在许多情况下,我可以让外观按我想要的方式工作。

我正在处理的最后一个 UI 元素是NSComboBoxCell. 它似乎是NSTextFieldCell带有NSButtonCell附件的。我要覆盖的部分是NSButtonCell我认为正在绘制“箭头按钮”的部分。以前有没有人这样做过,如果有,使用什么方法,以便我可以改变它的外观?

有什么方法可以知道在哪里绘制NSButtonCell?(我可以覆盖并安装我自己的NSButtonCell吗?)

谢谢!

0 投票
1 回答
133 浏览

xcode - 预选一个 NSComboBox 条目

我有一个包含 NSComboBox 的模式窗口。“使用数据源”设置为打开,并且组合框正确列出了条目。视图控制器是数据源的委托。当我调用模态窗口来更新现有对象时,我希望组合框显示选定的条目(如果有的话)。我该怎么做呢?

我试图访问 viewWillAppear 中的条目。我得到并错误说没有条目。我在代码中的各种打印语句表明在单击下拉箭头之前不会加载这些值。我作为代表提供的两个功能是:

是否可以在上面的第二个函数中设置选定的条目?

0 投票
1 回答
52 浏览

cocoa - Cocoa 没有调用 ViewController 函数

我用具有完成选项的组合框构建了一个视图控制器,这样当我输入一个字母时,它会在列表中找到以该字母开头的第一个出现。它工作正常。然后我将代码复制到另一个视图控制器并更改了适当的源信息。它不起作用。几天来我一直在比较这两者,看看我是否遗漏了什么,一切看起来都还不错。我已经放入了一些打印语句来隔离问题。这是通过两个控制器运行的控制台日志:

  1. 我激活控制器。光标出现在第一个字段中,这是工作组合框
  2. 我输入字母 m。我的 findFristOccurance 方法被调用。它返回显示的字符串。然后我的 objectValueForItemAt 被调用。它返回显示的条目。
  3. 我按了tab键。我的 textShouldEndEditing 被调用,它很高兴并返回一个有效的响应。光标移动到下一个字段。
  4. 我退出视图控制器——它是一个模态对话框——然后进入那个不起作用的对话框。光标出现在第一个字段中,即非工作组合框。
  5. 我输入字母 m。我的 findFristOccurance 方法被调用。它返回显示的字符串。我的 objectValueForItemAt 没有被调用。
  6. 当我跳出该字段并调用 textShouldEndEditing 时,它返回无效,因为没有选择,即-1。

我知道问题控制器中的 objectValueForItemAt 是可以的,因为当我单击组合框上的向下箭头以显示条目时,它会被重复调用。

问题似乎是问题控制器中没有调用 objectValueForItemAt。我已经比较了故事板中的两个组合框。它们都设置相同。我在某处缺少某些设置吗?

这是两个控制器在分歧之前调用的最后一个函数。此版本来自问题控制器:

如果您想知道只有一个条目的 switch 语句,源控制器有五个并选择保持一致。

0 投票
1 回答
439 浏览

swift - 如何在同一个视图控制器中实现多个组合框的数据源

我有 2 个组合框,它们使用与数据源相同的字典。在第一个组合框中将显示键,在第二个组合框中将显示值。

首先,我需要一些帮助来实现数据源委托方法;请参阅下面的代码清单。相关的盒子是 floorBox 和 roomsBox。忽略其他 2 个,因为它们将从局部变量或接口中填充。另外,假设一楼 [key = 0] 我有 3 个房间 [value = 3],我如何取 3 的值并将其变成 roomsBox 内的 3 个项目;这样每次地板改变房间的盒子都有相应数量的物品(如果有意义的话)。我真的很感谢你的帮助,我感谢你。

}

0 投票
1 回答
152 浏览

swift - NSComboBox 与其他书写方式

我正在尝试将自动完成功能实现到一个小应用程序中。我想让用户可以将一个城市(从一长串城市)写到 NSComboBox 中。只要用户在我的城市名称数组中使用城市的确切书写方式,它就可以正常工作。但是,如果他们出于某种原因使用不同的拼写,则会失败并且找不到该城市。

因此,例如,如果用户正在寻找“Köln”,这不是问题,但如果他正在寻找“Cologne”,他将无法找到它。

为此,我为每个城市提供了一组额外的替代拼写。

现在我希望 NSComboBox(或任何其他类型的 TextField)不仅可以在“city.name”中查看,还可以在数组“city.alternativeNames”中查看。显示的值也应该代表用户正在写的内容。

我不想在 NSComboBox 的弹出部分的列表中为每个替代名称创建一个条目,因为这会使列表比实际更长并且会使人们感到困惑(仅古龙水就有 85 种不同的拼写)。

感谢您的建议,我对 NSComboBox 完全陌生。

0 投票
0 回答
635 浏览

objective-c - 我们如何使用 NSComboBoxCell 实现自定义 NSComboBox

我是 OS X 的新手。我正在尝试使用 NSComboBox 实现下拉菜单。我需要自定义它,为此,我在情节提要中找到了 NSComboBoxCell 组件。但是没有找到这个的实现步骤。

当下拉菜单展开时,我需要打开一个带有标签和复选框按钮的下拉列表。

谁能告诉我如何在 OS X 中自定义 NSComboBoxCell。

我想自定义下拉列表。

任何帮助将不胜感激。

谢谢