隨手記錄......
隱藏Dock圖標
- info.plist配置
Application is agent (UIElement)
NSWindow
// 獲取主window
let window = NSApplication.shared.windows.first
// 設置window可以背景拖動
window?.isMovableByWindowBackground = true
// 設置window全屏顯示置頂
window?.level = NSWindow.Level.init(rawValue: 21)
NSMenu
- 實例statusItem
private var statusItem: NSStatusItem = {
let statusBar = NSStatusBar.system
let item = statusBar.statusItem(withLength: NSStatusItem.squareLength)
item.button?.image = NSImage(named: "home_service_Btn")
return item
}()
- 實現NSMenude 示例
func addStatusItem() {
let mainMenu = NSMenu(title: "111")
for (index, value) in menuArr.enumerated() {
let menuItem = NSMenuItem(title: value, action: #selector(selectMenu(_:)), keyEquivalent: "")
menuItem.tag = 1000 + index
menuItem.target = self
if index == 2 || index == 3 || index == 5 {
// 按需進行item分隔
mainMenu.addItem(.separator())
}
mainMenu.addItem(menuItem)
}
let timeMenu = NSMenu(title: "222")
for (index, value) in timeArr.enumerated() {
let menuItem = NSMenuItem(title: value, action: #selector(makeTimerRun(_:)), keyEquivalent: "")
menuItem.target = self
menuItem.tag = 2000 + index
timeMenu.addItem(menuItem)
}
...... 此處省略重復代碼
// menu添加子menu
mainMenu.setSubmenu(timeMenu, for: mainMenu.item(at: 6)!)
statusItem.menu = mainMenu
}
退出應用
NSApp.terminate(self)