问题标签 [nspopupbutton]

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 投票
4 回答
3770 浏览

cocoa - 基于视图的 NSTableView 中的 NSPopupButton:让绑定工作

问题描述

我正在尝试实现一些应该简单且相当常见的事情:在绑定填充的 NSTableView 中填充 NSPopupButton 绑定。Apple 在他们的文档Implementing To-One Relationships Using Pop-Up Menus中为基于单元格的表格描述了这一点,它看起来像这样:

在此处输入图像描述

我不能让它适用于基于视图的表。无论我做什么,“作者”弹出窗口都不会自行填充。

我有两个数组控制器,一个用于表中的项目(Items),一个用于作者(Authors),它们都与我的核心数据模型中的各个实体相关联。我在界面生成器中将 NSManagedPopup 绑定到我的单元格中,如下所示:

  • 内容->作者(控制器键:排列对象
  • 内容值->作者(控制器键:排列对象,模型键路径:名称
  • 选定对象->表格单元格视图(模型键路径:objectValue.author

如果我将弹出窗口放在表格之外的某个地方,它可以正常工作(显然选择除外),所以我想绑定设置应该没问题。


我已经尝试过的事情

  1. 有人建议对Authors数组控制器使用 IBOutlet 属性的解决方法,但这似乎对我也不起作用。

  2. 另一个 SO question中,建议将 NSTableCellView 子类化并以编程方式建立所需的连接。我试过这个,但只取得了有限的成功。

    如果我按如下方式设置绑定:

    弹出窗口确实显示了可能的作者列表,但当前选择始终显示为“无值”。如果我添加

    当前选择完全为空。显示当前选择的唯一方法是设置

    一旦我选择了不同的作者,它就会中断,因为它会尝试将 an 分配NSString*给一个Author*属性。

有任何想法吗?

0 投票
0 回答
188 浏览

cocoa - 使用核心数据实体和菜单项填充 NSPopupButton

有没有办法将核心数据实体列表放入 NSPopupButton 并在其中另外放置一个菜单项?

我有两个核心数据实体,比如 Person 和 Car。一个人有许多汽车(关系)。在一张纸上,用户应该能够从该人的弹出按钮中选择一辆车。此弹出按钮还应提供创建新车的选项,然后将为该人选择该选项。

到目前为止我的尝试:

当从核心数据填充弹出窗口时,我放入 IB 中 NSPopupButton 的项目不会在运行时出现。

我可以指定当用户从弹出窗口中选择一个项目时调用的操作,但每个项目都会触发该操作。(我需要在核心数据实体中有一个虚拟条目才能触发所需的工作表,我也无法控制该虚拟项目在弹出窗口中的位置)

0 投票
1 回答
727 浏览

objective-c - 如何让 NSPopUpButton 接受 firstResponder 状态?

我有一个NSPopUpButton甚至是一个简单的NSPopUpButton. 在我的子类中:

- (BOOL)acceptsFirstResponder { return YES; }

- (BOOL)refusesFirstResponder { return NO; }

现在很容易告诉窗口使按钮成为第一响应者,并且在启动时起作用,但我需要这也发生在从 NSTextField 中跳出的 nextResponder 中。一旦焦点在任何 NSTextField 上,它似乎永远无法移回弹出按钮。

我在这里想念什么?看起来应该很简单。

回答: firstResponder 不是这里使用的东西。需要一个子类(正如我所怀疑的那样),只需覆盖以下内容即可返回 YES:( - (BOOL)canBecomeKeyView { return YES; } 感谢 Peter Hosey)

0 投票
1 回答
80 浏览

runtime-error - 单击以编程方式定义的 NSPopUpButton 时出错

此错误仅发生特定时间(在创建新文档后)。如果我保存并重新打开,它可以工作。任何想法?有人有同样的错误吗?

谢谢!

0 投票
0 回答
354 浏览

objective-c - NSPopupButton 默认状态和绑定

我有一个 NSPopupButton 绑定到一个数组控制器的内容/值,我确实将它绑定到视图控制器中的一个属性..一切都工作得很好。然后我需要为共享用户默认值中的弹出窗口设置一个默认值。这就是一切都出错的地方!如果我将“选定值”更改为具有我的用户默认的模型键路径.. 删除绑定到我的本地属性。并且还更改了我不想要的默认值(我在“首选项”窗口中执行此操作)。

现在我用代码绕过它,通过 NSString 从弹出窗口中查找所需的 mnaged 对象,如下所示:[[_qualifierPopup selectedCell] title] ...但这非常笨拙!

所以两个问题:

  1. 我可以通过共享用户默认设置 NSPopupbutton 的默认状态 - 如果是这样,如何?
  2. 考虑到在弹出窗口绑定到用户默认值之前,它已绑定到返回正确托管对象的 id 类型的属性,我可以从弹出窗口中检索相同的 id 而不是字符串并对该字符串进行查找吗?如果是这样,有人可以帮助我了解语法。

谢谢伊恩

0 投票
1 回答
140 浏览

objective-c - NSPopupbutton 结合了 Content 的两个值。可能类似于 DisplayPattern

我想用 aNSPopupbutton来显示一个列表。列表中的每个元素都结合NSManagedObject.

我宁愿不添加瞬态属性,因为这会弄脏业务逻辑。

是否有一种简单的方法可以合并内容值中的两个值NSPopupbutton

看起来 NSLabel 有一个 DisplayPattern。尽管如此,这似乎也只允许绑定到一个属性,尽管它可能适应字符串格式。

OSX 不是 iOS。

0 投票
1 回答
433 浏览

objective-c - NSTableView 中的 NSPopupButton 与绑定

我希望我们中的许多人都有相同的绑定问题,特别是嵌套绑定。

设想 :

我有一个类 Person,具有namerole属性。角色将来自其他来源。

人物类:

AppDelegate 类:

我有一个表格视图和一个弹出按钮。TableView 绑定到 ArrayController。

如何将popupbutton绑定到角色,以便在对象或Person(即我们的模型)中更新选定的值?

0 投票
1 回答
834 浏览

objective-c - NSPopupButton with Live Fonts (Styled Text)

I wonder if it's possible to show live fonts in a popupbutton control (NSPopupButton)? currently, I load a popupbutton with a list of fonts available in the following manner.

Maybe, something like the following, using NSMutableAttributedString?

I get an out of bounds error. I don't know if my approach is right. I don't even know if the popupbutton control supports styled text.

Thank you for your help.

0 投票
1 回答
400 浏览

objective-c - 使用 NSUserDefaults 从 NSPopupbutton 保存所选项目

我已经尝试了很多东西,但无法让它发挥作用......

不工作,有什么建议吗?

0 投票
2 回答
9504 浏览

macos - 如何从 NSPopUpButton 获取所选项目?

我成功编译了这段代码,但是虽然我选择了“项目 1”,但我收到了“失败”的消息。
我认为我的错误是“myPopUp's selectedItem”,但我不知道如何纠正它。
如何从 NSPopUpButton 获取所选项目?