gpt4 book ai didi

macos - NSStatusItem.button (NSStatusBarButton) 的替代方案 OSX 10.9

转载 作者:行者123 更新时间:2023-11-30 13:59:38 27 4
gpt4 key购买 nike

我正在构建一个带有状态栏按钮的应用程序,我正在使用 NSPopover 在其顶部显示一个 View 。执行此操作的代码如下所示:

popover.showRelativeToRect(button.bounds,ofView:按钮,preferredEdge:NSRectEdge.MinY)

我想在 OSX 10.9 中执行相同的功能。该按钮在 10.10 以下不可用。我查看了源代码,发现我需要的大部分属性都在那里,我只需要一种方法来模拟按钮边界和 View - 此时。该怎么办呢?

完全替换 NSStatusItem.button 的建议也非常有用。

最佳答案

在 Mavericks 中,使用已弃用的 NSStatusItem 实现。

这是界面:

@interface NSStatusItem (NSStatusItemDeprecated)

/*
These are softly deprecated methods of NSStatusItem.
Their past and current behavior is to forward their calls onto the button property.
They will be formally deprecated in a later release.
*/
@property (nullable) SEL action;
@property (nullable) SEL doubleAction;
@property (nullable, weak) id target;
@property (nullable, copy) NSString *title;
@property (nullable, copy) NSAttributedString *attributedTitle;
@property (nullable, strong) NSImage *image;
@property (nullable, strong) NSImage *alternateImage;
@property (getter=isEnabled) BOOL enabled;
@property BOOL highlightMode;
@property (nullable, copy) NSString *toolTip;
- (NSInteger)sendActionOn:(NSInteger)mask;

/*
Custom views should not be set on a status item.
The button property with a template image will allow proper styling of the status item in various states and contexts and should be used instead.
*/
@property (nullable, strong) NSView *view;
- (void)drawStatusBarBackgroundInRect:(NSRect)rect withHighlight:(BOOL)highlight;
- (void)popUpStatusItemMenu:(NSMenu*)menu;

@end

关于macos - NSStatusItem.button (NSStatusBarButton) 的替代方案 OSX 10.9,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33151839/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com