1

我已经使用 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中设置是这样的: 设置在 IB

结果是这样的:

结果截图

4

1 回答 1

2

您应该设置与按钮相关的单元格的 imageScaling:

[tempBtn.cell setImageScaling:NSImageScaleProportionallyDown];
于 2012-11-23T21:07:35.683 回答