[英]How to rotate UIView in 3D?
我的任務很簡單,但是我聽不懂CATransform3DRotate。 我有3個具有相等高度和寬度的UIImageView,並且我需要為左右項目設置一些變換以獲取下一個結果: https : //dl.dropboxusercontent.com/u/15196617/result.png
原始屏幕: https : //dl.dropboxusercontent.com/u/15196617/original.png
我的資料來源:
CATransform3D transform = CATransform3DIdentity;
transform.m34 = -1.f / self.prevItemImageView.bounds.size.width;
transform = CATransform3DRotate(transform, (CGFloat) -(M_PI / 3.f), 0, 1.f, 0);
self.prevItemImageView.layer.anchorPoint = CGPointMake(1.f, 0.5f);
self.prevItemImageView.layer.transform = transform;
transform = CATransform3DIdentity;
transform.m34 = -1.f / self.nextItemImageView.bounds.size.width;
transform = CATransform3DRotate(transform, (CGFloat) (M_PI / 3.f), 0, 0.5f, 0);
self.nextItemImageView.layer.anchorPoint = CGPointMake(0.f, 0.5f);
self.nextItemImageView.layer.transform = transform;
這是行不通的。
您想要做的是將具有更改的.m34
分量的變換作為sublayerTransform
應用於圖像視圖的上層。 這就是使圖像視圖上的變換具有深度的外觀的原因。
此圖像以正方形開始生活。 但是它看起來是3D旋轉的,因為其上層具有sublayerTransform
:
我找到了這種動畫的一種解決方案。 請檢查此鏈接
https://github.com/GlennChiu/GC3DFlipTransitionStyleSegue
我們可以使用Pods添加此內容。
如果可行,請接受答案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.