gpt4 book ai didi

macos - 如何修改 NSButton 的外观以创建切换效果

转载 作者:行者123 更新时间:2023-12-03 16:45:26 25 4
gpt4 key购买 nike

如何修改 NSButton 的外观和感觉,我想创建一个看起来类似于 NSRoundRectBezelStyle 但具有图像和自定义高度的切换按钮

如何更改背景颜色、悬停时颜色更改、单击时更改颜色、状态为 ON 或 OFF 时创建切换效果、创建类似于 NSRoundRectBezelStyle 的边框。现有的 native 按钮没有与我的 UI 元素完全相同的 UI。

用户界面应如下所示,但我也想在文本上方添加图像。

enter image description here

native 按钮 - 悬停效果

桌面按钮 - 切换开效果

共享按钮 - 切换关闭效果

最佳答案

您可以通过创建具有以下属性的 NSButton 来实现此目的:

风格:“推”;类型:“推上推下”;有边框:"is"

继承 NSButton 并重写它的一些方法。

- (instancetype)initWithCoder:(NSCoder *)coder
{
self = [super initWithCoder:coder];
if(self)
{
self.showsBorderOnlyWhileMouseInside = YES;
}
return self;
}

- (void)setState:(NSControlStateValue)state
{
if(state == NSControlStateValueOn)
{
self.showsBorderOnlyWhileMouseInside = NO;
}
else
{
self.showsBorderOnlyWhileMouseInside = YES;
}
}

这将产生这样的结果:

关闭效果

enter image description here

悬停效果

enter image description here

切换效果

enter image description here

祝你编码愉快!!!

关于macos - 如何修改 NSButton 的外观以创建切换效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45295827/

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