0
this questionおよびdocumentationの例に従う。私は、macOSツールバーで2つのボタン(元に戻す、やり直す)を有効/無効にするコードを実装しようとしました。validateToolbarItem(_ :)を実装する方法は?
override func validateToolbarItem(_ toolbarItem: NSToolbarItem) -> Bool {
var enable = false
if toolbarItem.itemIdentifier.isEqual("undoButton") {
enable = (mainTextField.undoManager?.canUndo)!
}
else if toolbarItem.itemIdentifier.isEqual("redoButton") {
enable = (mainTextField.undoManager?.canRedo)!
}
return enable
}
残念ながら、コードは効果がないようです。私は何が欠けていますか?
'validateToolbarItem'は、ツールバー項目のターゲットで呼び出されます。ツールバー項目は画像ツールバー項目かビュー/コントロールツールバー項目ですか?ドキュメント:[ツールバー項目の検証](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/Toolbars/Tasks/ValidatingTBItems.html) – Willeke