2016-09-11 4 views
1

私はUIStackViewを持っています。そこにはAというサブビューがあります。私はビューAを回転したいと思います。私はAのレイヤーを回転させることができます。それは問題ありません。では、UIStackViewのサブビューのアニメーションを作成する方法は?UIStackViewのサブビューとしての表示は回転できません

+0

これで、レイヤーの回転に成功しました。あなたの質問は回転のアニメーション化の方法です。ローテーションをどのようにしているかのコードを投稿できますか? – 4bar

+0

いいえ、レイヤーを回転させずにレイヤーを回転させたいのですが、レイヤーを回転させても同じ効果があります。 – leizh00701

+0

試したコードを表示してください。 –

答えて

0

"配置されたサブビュー"をスタックビューに追加すると、そのフレームはスタックビューによって暗黙的に追加された制約によって自動的に管理されます。アニメーション化できる追加の制約を仮定的に追加することはできますが、ローテーションを達成するための制約はありません。

解決策の1つは、スタックによって管理されているビュー内に別のビューをネストすることです。次に、外側ビューのlayoutSubviewsをオーバーライドして、内部ビューの自動レイアウトをオプトアウトして、その回転を管理することができます。内部ビューのフレームに加えた更新は、アニメーションブロック内に配置することができます。

EDIT:UIViewtransformプロパティのドキュメントによると

、「iOSの8.0以降では、プロパティが自動レイアウトに影響を与えません変換、自動レイアウトは、その非形質転換に基づくビューの整列矩形を計算します。フレーム。これは、自動レイアウトの制約があってもローテーションが機能するはずであることを意味しているようです。つまり、私の推測では、ビューを変換することは、実際には下にあるレイヤーを変換するための便宜です。

+0

私は、ビューのフレームをまったく回転させるオプションがないと言います。スタックビューの内側で、ビュー階層の外側にあります。 –

関連する問題