1. ホーム
  2. ios

[解決済み] UIButtonがコンテンツモードの設定を聞き入れない?

2023-02-09 22:27:21

質問

firstButton は Custom タイプの UIButton です。私はプログラム的に、このようにテーブルの各セルに3つずつ配置しています。

[firstButton setImage:markImage forState:UIControlStateNormal];
[firstButton setContentMode:UIViewContentModeScaleAspectFit];
[cell.contentView addSubview:firstButton];

他の場所で、私は clipToBounds を指示しています。私が得たものは、画像のアスペクト比のレンダリングではなく、画像の中央の正方形の切り抜きです。firstButton.imageViewのmodeプロパティを設定するなど、多くの方法でこれを試しましたが、これもうまくいかないようです。

どのように解決するのですか?

私も同じような問題を抱えていました。 この質問は少し古いものですが、他の人々 (私のような) が検索結果に出てくるときの時間を節約するために、明確で正しい答えを提供したいのです。

検索と実験に少し時間がかかりましたが、解決策を見つけました。 UIButton 内にある "hidden" ImageView の ContentMode を設定するだけです。

[[firstButton imageView] setContentMode: UIViewContentModeScaleAspectFit];
[firstButton setImage:[UIImage imageNamed:imageName] forState:UIControlStateNormal];

おそらく、Dan Rayが受け入れた回答の中で示唆したのはそれだと思いますが、私はそうではないと思います。