问题标签 [nstoolbaritem]

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 投票
2 回答
3406 浏览

objective-c - NSToolbarItem 图像缩放

为什么会这样:

如您所见,在“允许的工具栏项目”中,图像对于“PHP”工具栏项目来说看起来不错,当它实际在工具栏中时,它的缩放比例很奇怪。

谢谢

0 投票
0 回答
1050 浏览

cocoa - 如何使用 NSProgressIndicator 作为 NSToolbarItem 的视图并将其显示在自定义表中?

我在我的应用程序中有一个NSToolbar设置。它是在 IB 中创建的。其中一个工具栏项使用微调器样式NSProgressIndicator作为其视图,其余的是图像。

当工具栏的自定义工作表显示时,微调器不会显示在工作表中。

我最初认为这是因为微调器-displayedWhenStopped设置为NO. 情况并非如此:如果我将其设置为“是”,则微调器在活动时会显示在工具栏中,但在停止时不会显示在工具栏或工作表中。

0 投票
1 回答
805 浏览

objective-c - 针对 FirstResponder 使用 View 验证 NSToolbarItem

我有一个包含视图 (an NSButton) 的工具栏项,并且视图的目标设置为nil,因此它会在触发操作时查找响应者链。不过,我在尝试如何验证第一响应者时遇到了麻烦。

我已经将 NSToolbarItem 子类化并实现了-(void)validate. 我发现的参考资料说您应该能够通过调用来获得第一个响应者[[[self view] window] firstResponder],然后查看响应者链是否实现NSToolbarItemValidationorNSUserInterfaceValidations并调用适当的验证方法。

但是,当我调用 时[[self view] window],我将nil作为窗口返回,因此我无法检索到第一响应者。

我不确定它是否有所作为,但我在 XIB 中创建工具栏,而不是用代码编写它。

在 NSToolbar.h 中查看,有一个引用包含窗口的 ivar,所以我可以通过调用找到第一响应者[[[self toolbar] valueForKey:@"window"] firstResponder],但这有点 hack,我更喜欢使用有文档/更稳定的东西。

0 投票
1 回答
3969 浏览

cocoa - 在“纯文本”中单击时 NSToolbarItem (setView) 中的 NSButton 强制模式为“图标和标签”

我正在尝试重新创建工具栏中的 Finder、Safari 和传输等漂亮的纹理按钮。首先,我只是在 IB 中拖入一个“纹理按钮”等。除了用户将工具栏设置为“纯文本”模式外,一切都运行良好。然后,当他单击按钮时,工具栏将自行启用“图标和标签”。我已经从工具栏中删除了所有代码和委托,以确保它不是代码问题。

然后,为了确保,我创建了一个新项目(根本没有代码),我可以用一个干净的 NSWindow 和一个 NSToolbar 和一个 NSToolbarItem 和一个 NSButton 来重现这个问题。

通过以下代码添加 NSButtons:

但这也有同样的效果:当我在“纯文本模式”中按下带有 NSButton 的 NSToolbarItem 时,工具栏本身会强制它的模式为“图标和文本”。

你知道我怎样才能让它正常工作,或者有一个替代方法来创建像 Safari 等漂亮的工具栏项吗?

0 投票
1 回答
601 浏览

objective-c - toolbarSelectableItemIdentifiers:未调用

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

截屏:
截屏

你能帮我吗?


不,我不想使用 BWToolkit。

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

objective-c - NSToolbarItem 子类不调用事件

我已经为它创建了一个子类,NSToolbarItem并试图捕捉-(void)mouseDown:(NSEvent *)theEvent它以改变它的状态(这是我在我的子类中添加的,因为NSToolbarItem不支持开箱即用的状态)。

问题是该事件mouseDown:永远不会被调用,即使我在 Interface Builder 中将工具栏项的类标识设置为我的新类之一。

为什么是这样?NSToolbarItem 是相关的NSView,所以它应该能够事件不是吗?

0 投票
6 回答
3208 浏览

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

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

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

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

0 投票
1 回答
662 浏览

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

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

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

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