在我将NSStatusItem
添加到Cocoa的状态栏后,是否可以获得它的框架?当我的应用程序启动时,我正在向系统状态栏添加一个项目,并想知道它的位置,这是可能的。
发布于 2012-04-30 04:38:33
下面的方法似乎是可行的--我见过类似的iOS应用程序的解决方案,并且假定它们允许提交到应用程序商店,因为你仍然在使用标准的SDK方法。
NSRect frame = [[statusBarItem valueForKey:@"window"] frame];
发布于 2014-07-10 01:07:59
在10.10中,NSStatusItem
有一个button
属性,用于在不设置自定义视图的情况下获取状态项位置。
NSStatusBarButton *statusBarButton = [myStatusItem button];
NSRect rectInWindow = [statusBarButton convertRect:[statusBarButton bounds] toView:nil];
NSRect screenRect = [[statusBarButton window] convertRectToScreen:rectInWindow];
NSLog(@"%@", NSStringFromRect(screenRect));
发布于 2019-03-03 10:18:36
您可以在swift中使用statusItem.button.superview?.window?.frame
https://stackoverflow.com/questions/5413784
复制相似问题