美文网首页
NSToolbar 只保留自定义工具栏选项

NSToolbar 只保留自定义工具栏选项

作者: 高思阳 | 来源:发表于2018-10-18 11:20 被阅读45次

Updated 1:

According to @Khundragpan and [this post](https://stackoverflow.com/questions/8413111/how-to-customize-the-context-menu-of-nstoolbar), problem 1 can be solved by:

 if let contextMenu = window?.contentView?.superview?.menu {

  for item in contextMenu.items {

    if item.title != "Customize Toolbar…" {
      contextMenu.removeItem(item)
    }

  }

}

But I don't think it's the best way.

Update 2:

Another way to solve problem 1 (thanks to @1024jp to point out this file):

 if let contextMenu = window?.contentView?.superview?.menu {

   contextMenu.items.forEach({ (item) in

    if let action = item.action,

    NSStringFromSelector(action) != "runToolbarCustomizationPalette:" {

      contextMenu.removeItem(item)

    }

  })

}

Update 3:

A ton of thanks to @1024jp for helping me. I'm able to remove those things with a few tips and tricks from him. Check the answer below.

You can access and modify a toolbar contextual menu when the toolbar is created, i.e. in -[awakeFromNib]:

 - (NSMenu *)toolbarMenuInWindow:(NSWindow *)window{

  NSView *contentView = window.contentView;

  NSView *toolbarView = contentView.superview.subviews.lastObject;

  NSMenu *toolbarMenu = toolbarView.menu;

  return toolbarMenu;

} 

Now you can directly edit menu items and hide or disable them.

相关文章

  • NSToolbar 只保留自定义工具栏选项

    Updated 1: But I don't think it's the best way. Update 2:...

  • macOS开发-NSToolBar

    NSToolBar 1 简述 工具栏,用于管理窗口标题栏下方和应用程序的自定义内容上方的空间,以快速访问应用程序功...

  • office2010使用小记(1)

    excel表格添加滚动条 打开excel,文件-->选项-->自定义功能区-->勾选开发工具-->excel工具栏...

  • 2018-05-12 Excel 中高级教程培训

    1.自定义快速访问工具栏 可以把自己喜欢的又经常使用的加进来 2.新增自定义选项卡 File-->Option--...

  • 【Axure10】菜单-视图

    工具栏 主工具栏 主工具栏是否展示,默认展示。 自定义工具栏 自定义主工具栏功能组件。 注:可以结合快捷键与常用功...

  • 课前准备

    1、ppt 文件-选项-自定义功能-所有命令-右侧(新建)-重命名(布尔运算) 2、快速工具栏设置 3、原则遵循以...

  • Excel2010 环境的配置

    本节主要讲的是在文件——选项——常规里的用户界面选项 1、选择显示浮动工具栏 问:什么是浮动工具栏? 如我们选中E...

  • 《Sketch(四) 形状间的布尔运算》

    复位工具栏在工具栏区域右键——自定义工具栏——拖动至工具栏区域 一、合并形状 1、将插入的矩形(R)和圆形(O)同...

  • 学习犀牛1

    工具栏: 按住ctrl可以复制工具,按住shift可以删除工具。 如果工具栏不见了,工具--选项--默认工具--o...

  • Visual Studio Code 1.72 正式发布

    近日微软发布了 1.72 版本,更新内容如下: 工具栏自定义:隐藏 / 显示工具栏操作用户现在可以从工具栏上隐藏操...

网友评论

      本文标题:NSToolbar 只保留自定义工具栏选项

      本文链接:https://www.haomeiwen.com/subject/wwujzftx.html