gpt4 book ai didi

macos - 更改高亮显示的NSButton背景颜色

转载 作者:行者123 更新时间:2023-12-04 13:50:57 26 4
gpt4 key购买 nike

我有一个NSButton,我希望它的高亮背景颜色与不高亮的背景颜色不同(透明,不高亮显示,如果有区别的话)。

目前,我有以下代码

[view setWantsLayer:YES];

NSButton* button = [[NSButton alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
[button setBordered:FALSE];
[(NSButtonCell*)[button cell] setHighlightsBy:NSChangeBackgroundCellMask];

[view addSubview:button];

单击后,背景将更改为默认的窗口背景颜色。如果我删除 NSChangeBackgroundCellMask,背景就会消失。

有没有一种简单的方法可以让背景具有不同的颜色,或者这是否要求我将NSButton子类化?

最佳答案

最后,我通过将NSButtonCell子类化并覆盖来解决了该问题

- (void) highlight:(BOOL)flag withFrame:(NSRect)cellFrame inView:(NSView*)controlView

进行所需的更改(根据 controlView.layer.backgroundColor更改 flag)

关于macos - 更改高亮显示的NSButton背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20064046/

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