4

我刚刚NSRecessedBezelStyle NSButton以编程方式创建了一些基本的代码,代码如下:

NSButton *btn = [[NSButton alloc] initWithFrame:NSMakeRect(80 + 110 * i, 11, 100, 19)];
[btn setTitle:@"Normal"];
[btn setButtonType:NSPushOnPushOffButton];
[btn setBezelStyle:NSRecessedBezelStyle];

但结果是这样的:

图片

如您所见,第一个和第二个按钮是通过编程创建的,第三个和第四个按钮是在 IB 中创建的。

按钮在 ON 状态下看起来不错,但在 OFF 状态下就不一样了。

用 IB 制作的第三个没有显示背景颜色(这是我想要的),但我在代码中创建的第一个有背景颜色。我该如何解决这个问题?

4

1 回答 1

6

看起来您需要在创建按钮期间添加一行:

[btn setShowsBorderOnlyWhileMouseInside:YES];
于 2013-05-22T11:23:19.137 回答