NSToolbarItem +自定义视图+ setAction:



我在继承NSObject <NSToolbarDelegate>的接口中以编程方式添加工具栏,并实现这些方法:

- (NSToolbarItem*)toolbar:(NSToolbar*)toolbar itemForItemIdentifier:(NSString *)itemIdentifier willBeInsertedIntoToolbar:(BOOL)willBeInsertedIntoToolbar;
- (NSArray *)toolbarSelectableItemIdentifiers: (NSToolbar*)toolbar
- (NSArray *)toolbarAllowedItemIdentifiers:(NSToolbar *)toolbar 
- (NSArray *)toolbarDefaultItemIdentifiers:(NSToolbar *)toolbar

我还通过在NSToolbarItem上调用setView添加了一个按钮。这个视图包含一个NSButton,并且位于。xib接口中。

然而,由于http://www.cocoabuilder.com/archive/cocoa/291782-nstoolbaritem-custom-view-setaction.html#291783中描述的原因,同一项上的setAction不起作用。

我如何实现这个解决方案?

您可以在nib文件本身中设置NSButton的目标和操作,或者如果您需要以编程方式执行,则创建IBOutletNSButton并在代码中执行。

当您在工具栏项中使用NSButton时,它的有效作用就像NSButton在界面中的其他地方一样,而不是作为NSToolbarItem本身。例如,您将无法通过使用标准-validateToolbarItem:-validateUserInterfaceItem:轻松禁用或启用按钮;相反,您需要为所讨论的按钮设置一个IBOutlet,或者使用绑定来启用或禁用按钮。

相关内容

  • 没有找到相关文章

最新更新