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 に答える