Swift菜单栏计时器hhmm格式显示工具

菜单栏的 hh:mm 计时器用 Swift 写起来其实挺。你只需要搞一个NSStatusItem,用DateFormatter格式化当前时间,配合Timer每分钟刷新一下标题就搞定了。整个逻辑清晰,代码量也不多,适合拿来练练手或者做个效率小工具。

Swift 的Timer(以前叫NSTimer)就是那种“设定间隔重复执行某个方法”的利器。用它每隔 60 秒触发一次,拿Date()获取当前时间,再用DateFormatter转成hh:mm格式字符串,显示到菜单栏标题就行了。

菜单栏图标这块用的是NSStatusItem,其实就是系统右上角那排图标里的一员。你只需要创建一个statusItem,设置它的button.title,就能在那显示东西了。每次定时器回调的时候更新一下标题,看上去就像个实时走字的时钟。

UI 交互方面你可以顺便加个下拉菜单,比如点击时间后能选择“暂停”或“重启计时器”。这个加个NSMenu就能搞定,响应方法也直白——都是target-action的套路。

整个项目最好基于 Cocoa App 模版启动,记得勾选Status Bar App,这样项目一开始就帮你配好没有 Dock 图标的背景运行模式。不想每次都手动启动?加个launch at login也蛮方便。

如果你之前没怎么写过 macOS 菜单栏 App,这是个蛮轻量的练手项目。用 Swift 写,逻辑清晰,调试也方便。不复杂,但挺实用。要想进阶,也可以参考下Ambar-SwiftUI 菜单栏模板,扩展一下界面功能。

zip 文件大小:190.44KB