2009-08-06 17 views
0

我的問題很簡單:Flex容器根據未轉換的子級進行佈局,因此旋轉的子級定位好像沒有旋轉,但是它們圍繞該位置的左上角旋轉。我附上了一張圖片來展示我的意思。強制容器在兒童旋轉後做佈局?

Example http://yfrog.com/10rotationvp

是否有人知道如何解決這個問題?我可以將組件包裝在一些東西中嗎?或者我必須訴諸自定義組件或固定佈局?

編輯:圖像內聯看起來不像它在爲我工作。鏈接到示例圖像:http://yfrog.com/10rotationvp

+0

你已經嘗試invalidateDisplayList()後旋轉它? – 2009-08-06 13:18:29

+0

呀,這個問題是不是定時,而是佈局類忽略組件的實際範圍,考慮到效果只有getExplicitOrMeasuredWidth /身高:( – Sophistifunk 2009-08-10 04:00:22

回答

1

如果容器不處理佈局代碼旋轉變換,然後不幸的是你堅持自己加入這一功能。爲了增加對受傷的侮辱,Flex 3及以下版本並沒有真正將佈局和邏輯分開,所以通常最終會得到解決一個非常具體的問題的組件,這些問題可能通過實現佈局界面的獨立佈局類更好地解決。這些組件可能會非常快速地增長,而且通常也會導致組件設計變得很脆弱,導致子類化過多。

這個問題在Flex 4中被不客氣(待公佈),但我真的不能保證其效果。理論上這是個好主意,但實際上我沒有時間深入瞭解Adobe實現該設計的情況。

長話短說:你可能被搞砸了,你必須自己實現這個功能。幸運的是,它通常很容易破解它。不幸的是,實現一個很好的非脆弱解決方案通常很困難,因爲它往往不需要使用子類和對超類內部的深入瞭解,這可能需要也可能不需要monkey patching

+0

我認爲是這樣的話,只希望我已經錯過了什麼docs/source ... 我會發佈一個愚蠢簡單的IContainer實現,支持下週左右的旋轉(一個組件),因爲我需要很快構建它。 – Sophistifunk 2009-08-10 04:02:24