2011-12-18 71 views
4

我有一個旋轉的UIImageView。當它旋轉到與用戶成90°的角度時,顯然該視圖沒有任何深度。就像在90°看一張紙一樣。CATransform3D旋轉視圖邊緣的深度

我使用:

// Rotate 

CATransform3D rotationAndPerspectiveTransform2 = CATransform3DIdentity; 
rotationAndPerspectiveTransform2.m34 = 1.0/-400; 
rotationAndPerspectiveTransform2 = CATransform3DRotate(rotationAndPerspectiveTransform2, M_PI, 1.0f, 0.0f, 0.0f); 

我怎麼可能一些深度添加到我的觀點,這樣,當它擊中90°它有一個邊緣更像是一個3D對象,而不是平的看法?

+1

+1偉大的問題。我一直想知道蘋果如何在iBooks中翻轉iBooks Store時做到這一點。 – 2011-12-18 23:14:36

+0

是的,我看到了這種效果的娛樂,但它很可怕,視角很差。 – 2011-12-18 23:18:35

+0

就在我頭頂,這可能需要兩層。側面層從90°變換開始,動畫到0°或180°,而層面以相同的速率完全相反。將這種轉換與沿着x軸的轉換結合起來,這可能令人信服。 – 2011-12-18 23:23:21

回答

0

您可以在CA中設置3D圖層樹,方法是將它們放置在三維空間中,每邊一層。所以,3D旋轉立方體將有6層;每張臉一張。

如果您製作了CATransformLayer(T)的所有圖層子項,則可以將單個變換應用於T,以便例如在3D空間中旋轉整個結構。

沒有辦法「擠壓」CALayer。