Sam*_*uel 9 macos osx-leopard menubar
我只是想知道如何获得苹果菜单栏的高度,以像素为单位(总是在顶部)
(我的屏幕尺寸是1200 x 800)我想知道除了菜单栏会是什么.
Ros*_*oss 18
以编程方式(因为这是SO,我正在寻找一个程序性的答案,谷歌发送给我这里)你可以通过使用:
CGFloat menuBarHeight = [[[NSApplication sharedApplication] mainMenu] menuBarHeight];
Run Code Online (Sandbox Code Playgroud)
或作为平面设计师,我知道会说:0.8厘米;)
tms*_*lnz 10
我会发现非编程的6纳秒方式:
信息面板将告诉您高度(和宽度).
(sǝıxıdoʍʇ-ʎʇuǝʍʇ:ɹǝʍsuɐ)
根据@Ross 的回答:
NSApplication.sharedApplication().mainMenu?.menuBarHeight
Run Code Online (Sandbox Code Playgroud)
不幸的是,这将nil
在应用程序完成启动之前返回(因为mainMenu
将是nil
)。如果您在此之前需要这个值(并且您不想为未来的操作系统版本猜测它),您可以像这样计算它:
if let screen = NSScreen.mainScreen() {
let menuBarHeight = screen.frame.height - screen.visibleFrame.height - screen.visibleFrame.origin.y - 1
}
Run Code Online (Sandbox Code Playgroud)
只有在顶部固定了一些额外的屏幕家具(例如 Dock)时,这个数字才会正确,这似乎极不可能。
更新:支持多个显示器(主要和次要):
let appleMenuBarHeight = screen.frame.height - screen.visibleFrame.height - (screen.visibleFrame.origin.y - screen.frame.origin.y) - 1
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9952 次 |
最近记录: |