mon*_*bre 10 cocoa objective-c nstoolbar nstoolbaritem
我有一个项目需要禁用/启用一些NSToolbarItems取决于不同的选项.我查了一下,发现没有参数.
有没有办法启用/禁用NSToolbarItem?
Fra*_*rew 10
在窗口,视图或文档控制器中实现NSToolbarItemValidation协议.该文档提供了以下示例代码:
-(BOOL)validateToolbarItem:(NSToolbarItem *)toolbarItem {
BOOL enable = NO;
if ([[toolbarItem itemIdentifier] isEqual:SaveDocToolbarItemIdentifier]) {
// We will return YES (enable the save item)
// only when the document is dirty and needs saving
enable = [self isDocumentEdited];
} else if ([[toolbarItem itemIdentifier] isEqual:NSToolbarPrintItemIdentifier]) {
// always enable print for this window
enable = YES;
}
return enable;
}
Run Code Online (Sandbox Code Playgroud)
您还可以使用action或tag确定要验证的工具栏项.每当您的应用程序被激活或调度事件时,项目都会经常验证,因此它们将始终处于有效状态.
小智 6
有一个更简单的解决方案:
-(BOOL)validateToolbarItem:(NSToolbarItem *)toolbarItem
{
return [toolbarItem isEnabled] ;
}
Run Code Online (Sandbox Code Playgroud)
那样你就可以使用[yourToolBarItem setEnabled:YES/NO]; 在你的代码中.