66

プログラムでカスタム UITableViewCell を作成しようとしていますが、このセルのサブビューの 1 つは、画像 (虫眼鏡の単純な画像) を含むボタンになります。ただし、ボタンの画像を中央に配置し、ボタンに収まるように比例して縮小し、ボタン全体を埋めるために引き伸ばさないようにします。以下は、ボタンを配置するカスタム UITableViewCell を self が参照するコードです。

self.myButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[self.myButton setBackgroundImage:[UIImage imageNamed: @image_name_here"] forState:UIControlStateNormal];
self.myButton.frame = CGRectMake(...//something, something)
self.myButton.imageView.contentMode = UIViewContentModeCenter;
[self.contentView addSubview:self.mySearchHelpButton];

現在、画像は、適切に収まるように比例してスケーリングするのではなく、ボタン全体を埋めるように伸びています。

また、 contentMode をに設定しようとしましたUIViewContentModeScaleAspectFillが、これは何も変わらないようです。実際、さまざまな contentModes のどれも何も変更していないようです。

4

7 に答える 7

68

setImage代わりに試しましたsetBackgroundImageか?

于 2012-07-05T14:46:02.303 に答える
56

ボタンがカスタムUIButtonであることを確認してください

iOS9では、使用するだけsetImage:ではうまくいきませんでした。

しかし、それはmyButton.imageView.contentMode = UIViewContentMode.ScaleAspectFit;

于 2016-01-28T23:54:31.167 に答える
45

スイフトで...

button.imageView?.contentMode = . scaleAspectFit
于 2015-12-10T13:25:19.370 に答える