2012-11-07 95 views
7

我的目標是根據選擇讓3張圖像收縮,成長並沿水平軸移動。使用自動佈局似乎使圖像跳躍,因爲他們試圖實現頂級空間超級查看/底部空間超級查看約束。iOS 6 AutoLayout縮放和翻譯動畫

所以爲了解決這個問題,我把所有的圖像放在自己的UIView中。 UIView設置爲圖像可以增長到的最大尺寸,它以水平軸爲中心。所以現在所有的圖片必須保持居中對應的UIView。這已經解決了我的問題,因爲UIViews執行水平轉換,而圖像收縮/增長,同時保持居中。我的問題是 - 這是做到這一點的正確方法嗎?它看起來很長,並且像我可能濫用自動佈局的能力。我必須用更多圖像執行類似的任務,因此歡迎任何建議!謝謝。

回答

8

我剛剛寫了這個話題在這裏一個小作文:

How do I adjust the anchor point of a CALayer, when Auto Layout is being used?

基本上自動佈局不與任何一種觀點轉變發揮的都好。最簡單的解決方案是將你的視圖完全取消自動佈局的控制,但是也可以只給它一些限制條件,而不會針對你打算應用的特定類型的變換進行反擊。第二個解決方案聽起來就像你正在做的事情。

+0

感謝您的幫助。是。第二種解決方案更吸引我! – bean

+0

我在自動佈局的視圖上使用CATransform3D轉換,沒有任何問題。 – bandejapaisa

+0

@bandejapaisa不,你不知道。 CATransform3D應用於圖層,而不是視圖。看到我上面提到的文章的解決方案4(http://stackoverflow.com/questions/12943107/how-do-i-adjust-the-anchor-point-of-a-calayer-when-auto-layout-is-被使用/ 14105757#14105757) - 該解決方案恰好使用圖層轉換而不是視圖轉換。 – matt