0

2 つの UIView があるとします。1 つはフレームの UIImageView で、もう 1 つは画像の UIImageView です。自動レイアウトを使用して、画面サイズに関係なく、画像がフレーム内に収まるようにしたい。写真はフレームのサブビューではありません。正しい比率で重ね合わせたい 2 つのイメージビューです。

回転時に高さを変更したいので、高さを固定することはできません(議論のために、フレームの下部をメインビューの下部に固定したとします)。高さを等しくすることはできません。同じではないため、画像を小さくする必要があります。水平方向の間隔を固定することはできますが、それは画像の x、y が正しいことを確認するだけで、高さと幅は確認しません。

なんらかの理由でフレームサイズを変更した場合(たとえば、変換を介して)、画像が追従するようにします。

自動レイアウトでこれを行うことはできますか、それともコーディングが必要ですか?

4

1 に答える 1

0

2 つのビューの centerX と centerY を同じに固定する制約を作成できます。次に、幅と高さを指定する制約を作成できます。フレームの大きさによって異なります。あなたは試すかもしれません

picture.width = frame.width - 20

また

picture.width = 0.8 * frame.width

(そして、高さについても同様のことを行います)。

両方を回転させたい場合は、両方のビューで回転変換を設定する (推奨されません) か、両方を同じスーパービューに配置してそのスーパービューで回転変換を設定する (推奨) 必要があります。ビューにトランスフォーム セットがある場合、そのビュー内からそのビュー外に向かう制約を作成できないことに注意してください。それらは別々の世界のようなものです。

于 2013-09-22T05:53:43.210 に答える