如何启用/禁用 NSToolbarItem
我有一个项目需要禁用/启用一些 NSToolbarItem
取决于不同的选项。我查了一下,没有发现这个参数。
有没有办法启用/禁用给定的 NSToolbarItem ?
I have a project that needs to disable/enable some NSToolbarItem
s depends on different options. I checked and found no parameter for this.
Is there a way to enable/disable a given NSToolbarItem
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
在窗口、视图或文档控制器中实现 NSToolbarItemValidation 协议。文档提供了以下示例代码:
您还可以使用
action
或tag
来确定正在验证哪个工具栏项。每当您的应用程序被激活或事件被调度时,项目都会被频繁验证,因此它们将始终处于有效状态。Implement NSToolbarItemValidation Protocol in your window, view or document controller. The documentation gives the following sample code:
You can also use
action
ortag
to determine what toolbar item is being validated. Items are validated frequently, whenever your app is activated or events are dispatched, so they will always be in a valid state.有一个更简单的解决方案:
这样您可以使用 [yourToolBarItem setEnabled:YES/NO] ;在你的代码中。
There is an easier solution :
that way you can use [yourToolBarItem setEnabled:YES/NO] ; in your code.
在 swift 中执行此操作的一个简单方法是,或者您可以将其移植到目标 c 中,只需设置操作
这会禁用该项目
这会重新启用它
在执行此操作时,您会希望用函数替换 IBAction,因此
将更改为
an easy way to do this in swift, or you could port this to objective c is to just set actions
This Disables the item
This reEnables it
In doing this you would want to replace your IBAction with function so
would be changed to
正如 nsij22 所说,你需要采取行动。
在情节提要中,只需按住 Ctrl 键并从工具栏项目拖动到代码操作即可。
As nsij22 said you need to set action.
In Storyboard just ctrl+drag from toolbar item to your code action.