问题标签 [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 投票
1 回答
1406 浏览

objective-c - NSPopUpButton + 绑定 + 显示所有选项

我正在尝试开发一个NSPopUpButton用作某些数据源的过滤器的过滤器,比方说一个NSArrayController填充表格的过滤器。

我可以将NSArrayController菜单中的 绑定到选择键路径,以便正确过滤数据,这没问题。

棘手的部分是,我希望它的内容NSPopUpButton依赖于NSArrayController使用绑定,但我想添加一个“显示全部”菜单项,或者至少一些不是来自核心数据并执行一些特殊的项目除了使用绑定和核心数据过滤表之外的操作。

我正在尝试NSPopUpButton在过滤器栏中执行类似 finder 使用的操作,菜单的最后一项执行特殊操作,而其他项只是过滤结果。

我知道这种方法是忘记绑定并以编程方式完成所有事情,因为我相信没有办法弄乱NSArrayController和绑定来添加这个不依赖核心数据的自定义菜单项,但因为我没有在 Apple Docs 上找到任何东西,在这里,我想分享我的想法……有什么想法吗?

0 投票
1 回答
4726 浏览

objective-c - 如何正确使用 NSPopUpButton

我有一个 NSPopUpButton,我想用它来选择打开文件的文本编码。

我已经有了一些如何实现它的想法,但是当我开始学习 Objective-C 和 Cocoa 时,我几乎可以肯定有更好的方法来完成我想要的。

我需要一个带有编码名称的 NSString 和一个关联的 NSStringEncoding 值。

我曾想过创建一个表示编码(名称和值)的类,并有一个带有这种类型对象的 NSArray,然后用数组的内容填充 NSPopUpButton,但我认为应该有更好的方法。

我对 NSDictionary 类不是很熟悉,但我怀疑这会让事情变得更容易。

有人可以给我一个提示吗?

0 投票
0 回答
885 浏览

macos - NSPopUpButton 多选

有没有人知道如何制作一个带有多个选择的 NSPopUpButton ,就像这样。 在此处输入图像描述

0 投票
2 回答
687 浏览

cocoa - NSPopupButton 上的焦点环不会出现在按下选项卡上

我有几个NSPopupButtons观点,它们被定义为一个newKeyView文本字段之后。问题是,当他们按下标签按钮时,不知何故他们没有得到对焦环,就像他们被忽略了一样。应该怎么做才能让他们获得对焦环?

谢谢,

纳瓦

0 投票
1 回答
388 浏览

objective-c - 将 NSTableView 数据添加到 NSPopUpButton 项

我有一个可以添加和删除项目的 NSTableView。将项目添加到表格后,我希望这些项目也显示为 NSPopUpButton 的项目。我尝试了 addItemsWithTitles: 方法,但它给了我一个错误。

因此,我尝试为数组记录 objectAtIndex:0 并没有得到字符串,而是收到了一些数字:

并且作为参考我的收藏夹类是

0 投票
3 回答
9018 浏览

objective-c - 如何获取 NSPopUpButton 选定对象?

我有一个学生班:

我有一个用于学生列表的 NSMutableArray,我将它绑定到这样的 NSPopUpButton

内容:学生数组、排列对象 内容值:学生数组、排列对象、名称

现在我可以像这样得到学生对象:

有什么方法可以直接从 NSPopUpButton 获取学生对象????像:

0 投票
0 回答
591 浏览

xcode - NSArrayController, NSPopupButton 正确绑定

我刚开始从 iOS 开始进行 Mac 编程,并且正在玩绑定。

我正在尝试制作一个简单的目录弹出窗口,显示最近选择的目录的历史记录,最后一个元素将读取other...将打开打开对话框。

我似乎无法弄清楚如何将 NSPopupButton 绑定到我的模型。

它的设置是这样的:MainUIViewController、NSController、NSObject Controller 都连接在笔尖中

NIB 文件

我确实将 MainUIViewController 中的插座连接到 NIB 中的目录阵列控制器我有一个用于 eachDirectory 的类,还有一个用于 DirectoryArrayController(NSObject) 的类我以这种方式在视图上绑定 NSPopupButton:

目录阵列控制器绑定

我将目录数组控制器绑定到目录弹出数组控制器,因此

目录弹出数组控制器绑定

这是连接到目录弹出阵列控制器的 .h 文件

我在相应的 .m 文件中使用以下代码填充了一些示例目录信息

这是 eachDirectory.h 的代码

现在,当我转到我的代码时,如果我放置用于创建 Array 的代码并将 Array 控制器直接绑定到 UIViewController.m 文件,事情似乎工作正常。我想要做的是在一个单独的类文件中处理所有数组的东西,并且只将最终的目录选择返回给主控制器。当我如上所述将 NSArrayController 绑定到 NIB 中的对象控制器时,弹出窗口中什么也没有显示,我不明白为什么!

非常感谢任何帮助,对于冗长的帖子感到抱歉 - 只是想让自己清楚。

0 投票
1 回答
1970 浏览

cocoa - NSPopUpButton 未选择正确

我正在使用此代码将弹出按钮添加到NSView

当我启动我的应用程序时,按钮没有选择。当用户单击它并选择其中一项时,该按钮保持为空。例如,如果有 3 个可能的选择(item1、item2 和 item3),并且用户单击第二个,而不是显示“item2”,它什么也不显示:

空选

0 投票
0 回答
807 浏览

objective-c - 如何以编程方式刷新 NSPopupButton 的菜单?

这是一个由多个视图组成的 Core Data 应用程序,每个视图都包含在自己的 Xib 中。在整个应用程序中,我有几个 NSPopupButton 显示来自各种核心数据实体的数据,绑定在界面生成器中以传统方式完成,并且一切正常。

除了两个弹出按钮,我必须以编程方式填充而不是绑定,因为数据需要一些处理才能显示在弹出窗口上。一个与我需要使用@distinctUNionOfObjects 的实体有关。另一个涉及十进制数字的实体,需要进行自定义数字格式,以便它们显示为百分比(带有百分号)。

为了填充这两个弹出窗口,我在 awakeFromNib 中为相关视图生成了数据数组。这是代码:

很好,但是当我向这些提供弹出窗口的实体添加数据时(通过应用程序的其他视图上的表格或文本字段),然后返回带有弹出窗口的视图,按钮不会使用新内容更新。我理解,这是因为内容是在 awakeFromNib 中创建的,并且再次显示相关视图不会重新唤醒 Nib。但是,当源实体被修改或接收到新数据时,如何使这些弹出按钮自动更新?我只有在重新启动应用程序后才能看到更改。

或者,也许我错过了一些东西,并且首先可以通过界面构建​​器中的绑定来完成所有这些工作?

感谢您的建议。

=== 编辑以指定 [控制器重新排列对象] 无效。

0 投票
1 回答
1311 浏览

objective-c - NSPopupButton 与 Value Transformer 的绑定

我不知道我看到的由带有值转换器的绑定填充的弹出按钮是否是它应该是的方式 - 我看到的不寻常的事情(至少就我所看到的而言)值转换器和表格视图)是transformedValue:方法中的“值”参数是绑定到数组控制器的整个数组,而不是数组中的单个字符串。当我使用表格视图完成此操作时,为表格中的每个显示行调用一次转换器,并且“值”参数是绑定到该行和列的任何对象,而不是用作内容数组的整个数组用于阵列控制器。

我有一个非常简单的应用程序来测试它。在应用程序委托中有这样的:

在 RDTransformer 类中是这样的:

在 IB 中,我在窗口中添加了一个 NSPopupButton,在对象列表中添加了一个数组控制器。控制器的内容数组绑定到 App Delegate.theData,弹出按钮的内容值绑定到数组 Controller.arrangedObjects.name 和值转换器 testTransformer。

当我运行程序时,transformValue: 方法的日志是这样的:

从我在 SO 上看到的情况来看,这似乎不是其他人的经历。绑定或值转换器有什么我做错了吗?