Khu*_*sai 11 3d uiimageview ios swift
我正在制作照片编辑应用程序,我有3个Scrollviews和UIImageview,我想将ScrollViews设置为如下
我曾尝试过" Scenekit ",但它不起作用,因为我想要ScrollableView.
基本上我想创建3D拼贴画
有没有其他方法可以做到这一点?
是否可以像3d Square一样设置UIScrollView?
我使用CATransform3D使用以下代码实现了这一点
我在StoryBoard中用UIImageview创建了3个Scrollview
@IBOutlet var faces: [UIView]!
Run Code Online (Sandbox Code Playgroud)
ViewDidiLoad
var perspective: CATransform3D = CATransform3DIdentity
perspective.m34 = -1.0 / 500.0
self.view?.layer.sublayerTransform = perspective
perspective = CATransform3DRotate(perspective, CGFloat(-Double.pi / 4), 1, 0, 0)
perspective = CATransform3DRotate(perspective, CGFloat(-Double.pi / 4), 0, 1, 0)
print(perspective)
self.view.layer.sublayerTransform = perspective
//add cube face 1
var transform: CATransform3D = CATransform3DMakeTranslation(0, 0, 50)
addFace(0, withTransform: transform)
//add cube face 2
transform = CATransform3DMakeTranslation(50, 0, 0)
transform = CATransform3DRotate(transform, CGFloat(Double.pi / 2), 0, 1, 0)
addFace(1, withTransform: transform)
//add cube face 3
transform = CATransform3DMakeTranslation(0, -50, 0)
transform = CATransform3DRotate(transform, CGFloat(Double.pi / 2), 1, 0, 0)
addFace(2, withTransform: transform)
Run Code Online (Sandbox Code Playgroud)
addFace功能
func addFace(_ index: Int, withTransform transform: CATransform3D) {
let face: UIView? = faces[index]
if let aFace = face {
self.view.addSubview(aFace)
}
let containerSize: CGSize? = self.view.bounds.size
face?.center = CGPoint(x: (containerSize?.width ?? 0.0) / 2.0, y: (containerSize?.height ?? 0.0) / 2.0)
face?.layer.transform = transform
}
Run Code Online (Sandbox Code Playgroud)
产量
| 归档时间: |
|
| 查看次数: |
311 次 |
| 最近记录: |