8

私の目的は、選択内容に応じて、3 つの画像を横軸に沿って縮小、拡大、移動させることです。自動レイアウトを使用すると、スーパービューへの上部スペース/スーパービューへの下部スペースの制約を満たそうとするときに、画像が飛び跳ねるように見えます。

これに対抗するために、すべての画像を独自の UIView 内に配置しました。UIView は、画像が拡大できる最大サイズに設定され、横軸の中央に配置されます。したがって、画像が行う必要があるのは、対応する UIView 内の中央に配置することだけです。これにより、UIViews が水平方向の変換を実行し、画像が中央に配置されたまま内部で縮小/拡大するため、問題が修正されました。私の質問は - これはこれを行う正しい方法ですか? 非常に長いようで、おそらく自動レイアウトの機能を誤用しているようです。より多くの画像で同様のタスクを実行する必要があるため、アドバイスは大歓迎です! ありがとう。

4

1 に答える 1

9

ここで、このトピックに関する短いエッセイを書きました。

自動レイアウトが使用されている場合、CALayer のアンカー ポイントを調整するにはどうすればよいですか?

基本的に、自動レイアウトは、どのような種類のビュー変換でもうまく機能しません。最も簡単な解決策は、ビューを autolayout の制御から完全に外すことですが、別の方法として、適用しようとしている特定の種類の変換に反撃しない制約のみをビューに与えることもできます。その 2 番目の解決策は、まさにあなたが行っていることのように思えます。

于 2013-01-01T16:29:37.727 に答える