NSToolbar 只保留自定義工具欄選項
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.
相關文章
- start11,自定義win11的選單欄和桌面欄工具
- 自定義 Windows 右鍵選單項Windows
- xmake高階特性之自定義選項
- Pandas高階教程之:自定義選項
- layUI Table自定義工具欄和搜尋引數UI
- DedeCMS的checkbox多選欄位自定義取值的方法
- Vue富文字帶圖片修改圖片大小自定義選擇項自定義字型Vue自定義字型
- uniapp自定義導航欄APP
- svelte自定義元件|導航條Navbar及選單欄Tabbar元件tabBar
- Winform 工具欄 ToolStripMenuItem下拉選擇項選中對勾不居中ORMUI
- 自定義監控項
- 工具欄選單
- Vue element下拉框加一個自定義的選項Vue
- JavaScript 側欄選項卡JavaScript
- HarmonyOS NEXT 5.0自定義增強版導航欄元件|鴻蒙ArkUI自定義標題欄元件鴻蒙UI
- 自定義元件-純資料欄位元件
- Request 增加自定義欄位的方式
- element ui 自定義的快捷選項的日期選擇器並格式化UI
- 自定義Timeline工具1
- 通過計算機語言自定義保留小數計算機
- MySQL 效能壓測工具,從入門到自定義測試項MySql
- 「Mac新手必備」自定義 Mac 上的控制中心和選單欄Mac
- Android自定義View注意事項AndroidView
- java自定義異常例項1Java
- Prometheus Operator自定義監控項Prometheus
- 自定義右鍵選單
- Yii1自定義 CGridView 中的操作按鈕中 CButtonColumn 選項View
- tmux自定義使用者設定(滑鼠選項,複製貼上)UX
- 微信小程式自定義導航欄微信小程式
- PhpCms自定義欄位的使用說明PHP
- laravel model自定義軟刪除欄位Laravel
- QingScan 快速整合自定義工具
- MySQL 效能壓測工具-sysbench,從入門到自定義測試項MySql
- 易優CMS模板標籤screening文件篩選指定自定義欄位讀取篩選條件
- Ignite自定義函式注意事項函式
- Qt隱藏系統標題欄,使用自定義標題欄QT
- OC:自定義日期選擇器
- 自定義時間選擇器