2009-08-06 8 views
0

私の問題はかなりシンプルです。フレックスコンテナは変換されていない子に基づいてレイアウトを行い、回転した子は回転がないかのように配置されますが、その位置の左上を回転します。私は何を意味するのかを示すイメージを付けました。子供が回転した後にコンテナにレイアウトを強制しますか?

Example http://yfrog.com/10rotationvp

誰もがこの問題を回避する方法を知っていますか?コンポーネントを何かにラップすることはできますか?カスタムコンポーネントや固定レイアウトに頼らなければならないのですか?

編集:画像のインライン展開は、私のようには見えません。サンプル画像へのリンク:http://yfrog.com/10rotationvp

+0

あなたは既にそれを回転させた後invalidateDisplayList()を試しましたか? –

+0

ええ、問題はタイミングではありませんが、レイアウトクラスは実際にgetExplicitOrMeasuredWidth/Height :( – Sophistifunk

答えて

1

コンテナがレイアウトコードの回転変換を処理しない場合は、残念ながらこの機能を自分で追加することになります。 Flex 3以降では、レイアウトとロジックが非常によく分離されているわけではありませんので、レイアウトインターフェイスを実装する別のレイアウトクラスを使用して解決した可能性のある非常に特殊な問題を解決するコンポーネントになります。これらのコンポーネントは非常に大きく成長する可能性があり、一般的にはコンポーネント設計が脆弱になりすぎ、サブクラス化が進んでいないことになります。

この問題は、Flex 4(公開予定)に忠実ではありますが、実際に保証することはできません。理論的には良いアイデアですが、実際には、Adobeがそのデザインを実装したことについて深く掘り下げる時間はありませんでした。

長いストーリーを短くするには:恐らく、あなたはおそらく骨抜きであり、この機能を自分で実装する必要があります。幸運なことに、通常、それをハックするのはかなり簡単です。残念なことに、非脆弱なソリューションを実装することは、通常は非常に難しいです。スーパークラス内部のサブクラス化と親密な知識を必要とすることがよくあります。 monkey patching

+0

のみを有効にして、コンポーネントの実際の境界を無視していると私は思っていました。 docs/source ... 私はすぐに構築する必要があるので、次の週程度で(1つのコンポーネントの)ローテーションをサポートするIContainerの愚かな単純な実装を投稿します。 – Sophistifunk

関連する問題