2015-05-04 55 views

回答

1

您需要將CATransform3D應用於UIViewlayer屬性transform。仿射變換是其中UIView的所有邊保持平行的變換。您將需要應用非仿射變換,因爲視角的頂部和底部在翻轉效果期間不會平行。您將需要使用底層的UIViewCALayertransform屬性來應用CATransform3D。您可以通過視圖對象上的layer屬性訪問此屬性。僅供參考,有關Core Animation的書籍已經撰寫,所以對於初學者來說這不是一個輕鬆的話題,但是從以下代碼中可以看出,將3D旋轉應用於視圖非常簡單。

//Transform 
CATransform3D transform = CATransform3DIdentity; 

//Modify the perspective transform 
transform.m34 = - 1.0/500.0; 

//Rotate 
transform = CATransform3DRotate(transform, M_PI_4, 0, 1, 0); 

//Apply transform to the layer 
self.layerView.layer.transform = transform;