gpt4 book ai didi

xcode - 使用 NSValueTransformer 进行 NSComboBox 自动补全

转载 作者:行者123 更新时间:2023-12-03 17:46:28 49 4
gpt4 key购买 nike

我想制作一个带有预定值列表的NSComboBox。底层对象是自定义 Swift 结构,我使用自定义 NSValueTransformer 将这些对象与我存储的底层字符串表示形式进行相互转换。

我想限制用户只能使用弹出窗口中的选项,但仍然允许自动完成。我正在为其使用数据源,并且使用 Cocoa 绑定(bind)到核心数据对象,并尝试使用 KVO 核心数据验证,就像我在常规(非组合)文本字段中使用的那样,但是字段没有值转换器。

第一个问题是,如果我将行为设置为Selectable,转换会正确发生并保存正确的值,并且转换后的值将传递到 KVO 验证。但用户无法输入并获得自动完成功能。如果我设置可编辑,那么您可以键入并自动完成,但不会转换、验证或保存任何值。

我希望 KVO 验证到位,以便我可以防止用户输入任意值 - 我想要自动完成,但不是自由格式输入。

这些是组合框的属性和绑定(bind)检查器:

最佳答案

NSComboBox 旨在允许用户除了菜单项列表之外输入自定义值,因此它包含一个文本字段。如果您不希望出现这种行为,可以使用 NSPopUpButton,它只有一个项目列表。弹出按钮本身没有自动完成功能,但与其他菜单一样,可以通过键入名称来选择项目。

关于xcode - 使用 NSValueTransformer 进行 NSComboBox 自动补全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56641047/

49 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com