簡體   English   中英

如何旋轉3D中的UIView?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM