さまざまなオプションに応じて、いくつかの s を無効/有効にする必要があるプロジェクトがNSToolbarItem
あります。確認したところ、このパラメータは見つかりませんでした。
特定のを有効/無効にする方法はありNSToolbarItem
ますか?
さまざまなオプションに応じて、いくつかの s を無効/有効にする必要があるプロジェクトがNSToolbarItem
あります。確認したところ、このパラメータは見つかりませんでした。
特定のを有効/無効にする方法はありNSToolbarItem
ますか?
ウィンドウ、ビュー、またはドキュメント コントローラーに 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;
}
または を使用して、どのツールバー項目が検証されているaction
かを判別することもできます。tag
アプリがアクティブ化されるか、イベントがディスパッチされるたびに、アイテムは頻繁に検証されるため、常に有効な状態になります。
もっと簡単な解決策があります:
-(BOOL)validateToolbarItem:(NSToolbarItem *)toolbarItem
{
return [toolbarItem isEnabled] ;
}
そうすれば、 [yourToolBarItem setEnabled:YES/NO] を使用できます。あなたのコードで。
これを迅速に行う簡単な方法、またはこれを目的の c に移植することは、単にアクションを設定することです
これはアイテムを無効にします
Mytoolbar.action = nil
これにより、再度有効になります
Mytoolbar.action = "Name of a function"
これを行うには、IBAction を関数に置き換えてください。
@IBAction func blehbleh(sender: AnyObject){ Stuff }
に変更されます
func blehbleh(){ Stuff }