macOS.創建狀態欄 App

macOS 上有很多應用是特別簡單,只在狀態欄上有圖標,點擊之后會彈出一個簡易的 UI,在 UI 上可以進行一系列操作。比如番茄土豆,還有 Alfred 等。

這篇文章主要就是介紹如何創建這些應用。

系統環境 : macOS 10.13 & IDE : Xcode 9.0。

創建好應用之后,需要做一下一些配置:

  1. 在 info.plist 文件里增加一項設置: Application is agent (UIElement) 為 YES。
  2. 將 main.storyboard 里面除 Application scene 之外的 scene 全部刪除。

這時候運行工程的話,應該是什么都看不到。

繼續配置,在 AppDelegate.m 里 - (void)applicationDidFinishLaunching:(NSNotification *)aNotification 方法進行寫如下代碼:

    statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:25];
    statusItem.image = [NSImage imageNamed:NSImageNameUserGroup];
    statusItem.button.target = self;
    statusItem.button.action = @selector(hello:);
增加對應方法
- (void)hello:(id)sender {
    NSLog(@"hello world");
}

這時候運行工程,狀態欄出現應用圖標:兩個人的 UserGroup 圖片,然后點擊該圖標的時候會輸出"hello world"。

至于怎么點擊應用彈出窗口,也很簡單,具體思路是這樣的: AppDelegate -> WindowController(窗口控制單例) -> Window(.contentView) -> ViewController ->View。

這個命題的關鍵的是設置窗口的位置,為了良好的用戶體驗,窗口應該不會太大導致超出屏幕。

以上。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,552評論 25 708
  • [譯] 零基礎 macOS 應用開發(二) 本文翻譯自 raywenderlich.com 的 macOS 開發經...
    SR2k閱讀 3,664評論 1 3
  • 歡迎回到 macOS 開發教程初學者系列 3 部分中的第 2 部分! 在本系列的第 1 部分中,學習了如何安裝 X...
    張嘉夫閱讀 10,945評論 5 50
  • 閱讀書目:顛覆平庸之學習方法 閱讀時長:半小時 閱讀遇到的困難:孩子不太乖時間完全不夠用 閱讀收獲:這個知識對我有...
    小夢化蝶閱讀 130評論 0 0
  • 看別人的文字,會懷念自己的文字,曾經那么美好。看別人彈琴,會懷念自己的琴聲,曾經那么動人。看別人的用心經營浪漫,會...
    m2閱讀 280評論 0 1