问题标签 [nspopupbuttoncell]
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.
objective-c - NSOutlineView 中动态填充的 NSPopUpButtonCell 菜单
我正在使用一个NSOutlineView
有两列的。我dataSource
为大纲视图提供了代表文件类型的自定义类的项目树(即,您使用 UTI 对其进行初始化)。第一列是文件类型的显示名称(例如,“源代码”、“Interface Builder NIB 文档”等)。第二列NSPopUpButtonCell
应该允许用户为给定的文档类型选择一个处理程序(想想 Xcode 的“文件类型”首选项窗格,你就在那里)。
我可以NSMenu
为树中的给定项目生成一个,填充基于 UTI 的启动服务数据库条目的选项,以及相关的应用程序图标等等。事实上,菜单本身非常好用,通过NSPopUpButtonCellWillPopUpNotification
.
问题是,尽我所能尝试,当菜单没有弹出时,单元格总是包含以下两件事之一:空字符串或单元格的默认文本,前者如果-handlerName
项目的结果(分配给列的属性)是非nil
,否则为后者。
此外,我手动调用-selectItem:
实例NSPopUpButtonCell
,这似乎是错误的。相比之下,左边的列,它只是一个NSTextFieldCell
,一切正常(尽管被允许,它所要做的就是从项目中读取值并呈现它)。
(免责声明:我在 Cocoa UI 方面还很新;我知道 Objective-C 和许多其他编程语言,但我没有大量构建 Mac OS X UI 的经验,所以要温柔)。
cocoa - 直接访问 NSPopupButton 的 NSPopupButtonCell (Cocoa OSX)
我知道这通常不推荐,但我确实需要访问 NSPopupButton 的 NSPopupButtonCell。有没有办法做到这一点?
objective-c - 将 NSPopUpButtonCell 与 NSTableView 一起使用
您好我正在尝试在 NSTableView 中使用 NSPopUpButtonCell。基本上,当您在弹出窗口中选择一个项目时,我希望它显示在表格视图列/行中。当按下弹出单元格中的一个项目时,我使用“tableView:setObject:forTableColumn:row”将其存储在数据源中,然后当表请求数据时,我检索并在“tableView:objectValueForTableColumn: 中设置弹出单元格的状态:排:”。请在附件中找到我的代码。我现在完全被困住了。我希望有人能理解它。先感谢您。
这是在控制器内部:
这是在数据源/委托类中。
cocoa - NSPopUpButton 恢复到初始状态
我注册通知NSPopUpButtonWillPopUpNotification
以便在弹出菜单显示之前更改它。新的弹出菜单包括运行应用程序列表和受尊重的图标。当应用程序被选中时,它会调用一个@selector
方法。
选择完成后,按钮会显示所选应用程序图标的图像,以及所选应用程序的文本。
如何使弹出按钮仅显示NSImageNameAddTemplate
图像?
我尝试在之后设置一个新菜单,IBAction
但弹出按钮永远不会触发IBAction
之后的选择。
谢谢。
objective-c - NSPopUpButtonCell 与 NSTableView 中的分层菜单
我有一个NSTableView
其中一列包含NSPopUpButtonCell
s。此列分配给IBOutlet
. 我的应用程序的控制器类在其中创建一个菜单init
并将其分配给NSTableColumn
的 dataCell,即NSPopUpButtonCell
.
菜单如下所示:
当我单击菜单并选择 item1 或 item2 时,我的数据源tableView:setObjectValue:forTableColumn:row:
被触发并且 objectValue 为 0 或 1,即所选项目的索引。但是,当我从其中一个子菜单中选择一个项目时,我得到的 objectValue 是-1。我怎样才能获得选择的菜单项?
cocoa - NSPopupButtonCell 绑定问题
我正在尝试实现类似于Apple Master-Detail 弹出单元格示例的内容,但绑定似乎对我不起作用。
我的应用程序允许用户构建舞台剧;所以我有一个表格视图acts
。每个动作都可以有一个列表,lines
因此动作表视图驱动第二个行表视图(因此选择第一个动作会使用该动作的行更新行表视图)。
此设置似乎工作正常。
每一行当然是由一个角色说出来的,所以我的文档对象有一个characters
行为列表和一个行为列表。我想要的是我的行表中的一个弹出单元格,其中包含从characters
数组中获取的值。
所以我按照那个Apple教程中的步骤操作,但它不起作用......
- 如果我将表视图
content
列CharactersController.arrangedObjects
的_ _selectedObject
LinesController.arrangedObjects.character
line
<Character ...>
如果我将列绑定
/li>contentValues
到,CharactersController.arrangedObjects.name
那么在运行应用程序时会出现以下调试错误:如果我删除
selectedObject
绑定,那么我仍然会<Character...>
在列表中获得输出。
似乎contentValues
绑定是损坏的。我究竟做错了什么?
这是我的绑定:
objective-c - NSTableView 与下拉菜单和菜单内有图像
是的,是否有可能:
- 一个有两列的表(应该很容易)
- Cell 之一应该有图像,应该可以从下拉菜单中选择
通过谷歌搜索我知道它必须是 NSPopupButtonCell 类型,但我只想要里面的图像,没有文字,
我该怎么做? - 另一列是可编辑的,用户应该能够输入。
如果我能获得任何参考代码来实现相同的功能,那就太好了。
objective-c - 使用 NSTableViewDataSource 填充 NSPopUpButtonCell 的正确方法
假设一个人有很多汽车,他们有一辆最喜欢的汽车。我似乎无法在文档中找到它描述了在表格视图中填充 NSPopUpButtonCell 的正确方法,每行都不同。
例如,我会为每个人设置 1 行,Favorite Car 列中会有一个 NSPopUpButtonCell。每行都有不同的菜单项。第 1 行(Camaro、Cavalier、F150)第 2 行(745li、Camaro、Town Car)等...
cocoa - 您可以在 NSPopupButtonCell 的 NSTableColumn 中绑定哪些内容?
在充满 NSPopupButtonCell 的 NSTableColumn 中可以绑定很多东西,我试着四处寻找解释,但似乎找不到任何解释。
- 值选择下的每个绑定是什么?例如,“内容”和“内容值”有什么区别?
- 为什么“内容对象”无论如何都是灰色的?
- 为什么绑定到表格列而不是弹出按钮单元格?可用于包含 TextCell 的表列的绑定选项也不同。这是如何实现的?
cocoa - 在多个地方重用 NSArrayController
我有一个简单的 NSArrayController 连接到我的一个 coreData 模型。我可以毫无问题地轻松显示 NSTableView 中的所有项目,但是,如果我尝试将包含 NSPopUpButtonCell 的 NSTableColumn 绑定到同一控制器上的排列对象,我会收到一个令人讨厌的异常。(但是,如果我绑定到表外的 NSPopupButton,一切似乎都正常工作)
为什么会这样?为什么不能多处复用阵列控制器?