UIImageView
オブジェクトに自動レイアウトが設定されています。ビューがスーパービューと一定の距離を保つように制約を作成しました。視覚的な形式では、それは次のようになります:UIViewのcontentModeプロパティと自動レイアウト制約を組み合わせる方法
@"V:|-[imageView]-|"
@"H:|-[imageView]-|"
しかし、私はまた、下にある画像の縦横比を維持したいと思いますので、私はcontentMode
にUIViewContentModeScaleAspectFit
を割り当てました。画像ビューのサイズが変更されたときに今
self.imageView.layer.cornerRadius = 7;
self.imageView.layer.maskToBounds = YES;
、例えば:
は私が関連するCALayer
のcornerRadius
値を設定するまで、すべてがうまく働いていたと思いました向きの変更のために、ビューが取得する新しいサイズに応じて丸い角が失われます。
--------------------------
| ********** |
| * * |
| * * |
| * * |
| ********** |
--------------------------
がある:その理由はcornerRadius
(下記ダッシュフレーム)UIImageView
に適用されるが、下にある画像もcontentMode
(以下アスタリスクでフレーム)を尊重するためにリサイズされているので、角部はもう見えない丸みを帯びていることですこの動作を防ぐ方法?
ありがとうございます。チャームのように働く。長い間苦労している。 –
これはUITableViewCellの場合にのみ機能します。これは、contentviewではなくtableviewセルに制約を付加する場合のみです。 (ビューをcontentViewに追加することができます –
uitableviewcellのすべてのサイズクラスに対して複雑な制約がある場合はこれがソリューションです – khunshan