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 菜单栏模板,扩展一下界面功能。
190.44KB
文件大小:
评论区