问题标签 [nstoolbar]

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 回答
884 浏览

cocoa - 窗口底部的 NSToolbar

我如何将 NSToolbar 放在窗口的底部。我需要修改一个程序,它在窗口顶部有一个工具栏,现在需要在底部。

0 投票
1 回答
788 浏览

cocoa - Cocoa HUD Window:移除透明度?

我有一个标准的 NSPanel 设置为 HUD 样式。我想更改背景颜色,主要是因为我想要一个工具栏,并且看不到任何使标准 nstoolbar 在 HUD 上看起来不错的方法,也没有直接自定义工具栏背景的方法。

我知道创建完全自定义窗口的多种方法,并在其他情况下使用这些方法。在这种情况下,我想要一个窗口提供的所有好东西,但我只是不想要透明度。有趣的是,我可以更改背景颜色,但不能更改 alpha。设置 alpha 值对窗口没有影响。

以前有人解决过这个问题吗?

0 投票
1 回答
601 浏览

objective-c - toolbarSelectableItemIdentifiers:未调用

我正在尝试制作可选择的 NSToolbarItems。我已在 IB 中正确连接了所有内容,但toolbarSelectableItemIdentifiers:无法正常工作。它不会被调用。委托是文件的所有者(NSWindowController 的子类),工具栏位于工作表中。这是我的代码:

截屏:
截屏

你能帮我吗?


不,我不想使用 BWToolkit。

0 投票
1 回答
2660 浏览

macos - 如何设置用于多面板首选项窗口的 NSToolbar 的初始化状态?

我正在尝试使用在许多 Mac 应用程序中看到的 NSToolbar 编写多面板首选项窗口。有一些教程通过以编程方式填充工具栏来做到这一点,但这似乎需要很多“机械”代码,我想通过在 IB 中设置整个工具栏来保存这些代码。每个 NSToolbar 项目调用下面的操作,并且标签用于选择视图(从具有 IBOutlet 的同一个 nib 引用):

然后我在每个 NSToolbarItem 上设置 Autovalidates,这将在工具栏项目上提供选中/取消选中的外观。

现在这是我的问题:我无法找到设置初始状态的好方法。在我打开窗口的那一刻,没有选择任何工具栏项目,我也没有对允许我正确选择它的代码进行任何更新。我想出的是:

这都是多余的信息:1)我需要为此工具栏项声明项目标识符 2)我手动复制第一个首选项面板的名称以便能够设置窗口标题。

有没有更好的方法来初始化工具栏?如何调用工具栏的第一项以便调用 changeViewControllerAction ?

谢谢。

0 投票
1 回答
762 浏览

objective-c - 如何在 NSToolbar 中获取 NSComboBox 以将消息发送到数据源并委托

我在 NSToolbar 中有一个 NSComboBox,我希望组合框将消息发送到它的数据源和委托。

我的班级采用NSComboBoxDelegateandNSComboBoxDataSource协议。我像这样创建我的组合框

我还实现了以下数据源和委托方法,其中有断点,但没有发送到这些方法。

关于我可能做错了什么的任何建议?谢谢你。

0 投票
2 回答
3632 浏览

objective-c - 如何使用代码隐藏 NSToolbarItem?

我有一个带有各种选项的工具栏,有些选项在某些情况下不可见。我已经想出了一种在我的应用程序中禁用它们的方法,使用这个回调:

但我还没有想出在需要时真正隐藏它们的方法。任何人都对如何做到这一点有任何想法,或者是否真的有可能?

0 投票
2 回答
7688 浏览

cocoa - 将自定义视图添加到工具栏

我现在与 Cocoa 斗争了 2 个小时,但没有成功。我想向工具栏添加自定义视图。因此,我在窗口中添加了一个 NSToolbar(使用 IB),并添加了我的视图(效果很好)。IB 自动创建了一个 NSToolbarItem。我在这里按照 Apple 的说明进行操作:http: //developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Toolbars/Tasks/AddRemoveToolbarItems.html#//apple_ref/doc/uid/20000755-BBCGJCDJ

问题是我现在不知道该怎么做,虽然它的标签显示在窗口中,但视图没有显示。

这是我用来绘制的代码(非常简单,用于测试目的)

有人能帮我吗?

提前致谢。

0 投票
1 回答
622 浏览

objective-c - NSToolbar 在 Leopard 和 Snow Leopard 中看起来不同

我有一个我正在开发的 Cocoa 应用程序,我在主窗口中使用的NSToolbar的外观上得到了不同的结果。

具体来说,我使用搜索字段作为最后一个NSToolbarItem并且在 Snow Leopard 下它正确显示: 在此处输入图像描述

它在 Leopard 下被切割: 在此处输入图像描述

查看这两个版本,我在项目之间放置的空格似乎在 Leopard 下不受尊重。我还看到,有时在 Interface Builder 的工具栏上进行一些更新后,即使在 Snow 下,这些更改也不会反映在正在运行的应用程序中。我必须从自定义菜单中拖动默认栏才能看到它们。

更新 NSToolbar 并不总是镜像 .nib 文件中的内容的原因在于为我启用的自动保存机制,正如 NSGod 所建议的那样。

这种不当行为的原因可能是什么?是否有一些关于我应该考虑的约束(最小和最大)尺寸?随时向我指出一些文档

更新 2 有没有办法以编程方式将项目和空间引入 NSToolbar 或检查使用 Interface Builder 输入的项目和空间的一致性(在运行时)?

0 投票
6 回答
3208 浏览

objective-c - 是否可以在 NSToolbar 的标签区域进行绘制?

我有一个NSToolbarItem使用类似于 Xcode 状态视图的视图。它目前没有标签,但我无法找到一种方法来绘制通常会绘制项目标签的区域。我希望视图能够像 Xcode 状态视图一样扩展到该区域。我知道像素的最底部NSToolbar超出范围,但我看到其他应用程序绘制到标签区域。有任何想法吗?

编辑:为澄清起见,这是我在 Xcode 中所指的状态视图:

我希望我的视图的边界延伸到工具栏的标签区域之外,就像 Xcode 中的视图一样。

0 投票
1 回答
662 浏览

objective-c - 使用带有多个 NSViewController 的工具栏

我有一个基于文档的单窗口应用程序,它加载了几个用作主视图的 NSViewController。每个视图控制器都是一个自包含的类,它处理某些业务需求,因此实现了工作所需的所有方法。

我的问题是如何在加载特定视图控制器时使工具栏工作。只要这些是在窗口类中实现的,我就可以将工具栏连接到委托,并将工具栏项连接到操作。但是,如果我尝试在loadView视图的方法上为工具栏项设置新操作,则工具栏项会简单地忽略它并继续在主窗口类上调用该方法。

那么,如何动态更改工具栏项上的操作?