Cocoa通过编写代码创建NSButton,如何设置样式?

时间:2012-11-23 09:40:40

标签: cocoa nsbutton

我已经使用IB来做到这一点,一切都很好,但是当我编写代码时,我不知道, 如何用IB获得相同的结果。

在IB中,我将其设置为截图,我设置的图像在按钮中具有相同的大小但是当我使用代码时,图像仅显示要表示的部分,
当我使用IB进行设置时,图像会自动拉伸,但使用代码来完成,它不会拉伸。

有没有人能找到代码和IB截图之间的区别?

1)编写代码来创建NSButton是这样的:

NSButton *tempBtn = [[NSButton alloc] initWithFrame: NSMakeRect(200, 200, 20, 20)];
[tempBtn setButtonType: NSMomentaryPushInButton];
[tempBtn setBezelStyle: NSRoundedDisclosureBezelStyle];
[tempBtn setBordered: NO];
[tempBtn setImage: [NSImage imageNamed: @"Basketball"]];
[tempBtn setImagePosition: NSImageOnly];
[tempBtn setTarget: self];
[tempBtn setAction: @selector(clickBtn:)];
[self.window.contentView addSubview: tempBtn];
[tempBtn release];

2)在IB中设置它是这样的: set in IB

结果如下:

result screenshot

1 个答案:

答案 0 :(得分:2)

您应该设置与按钮相关的单元格的缩放比例:

[tempBtn.cell setImageScaling:NSImageScaleProportionallyDown];