/ / Comment faire pivoter UIView en 3D? - ios, uiview, transform, catransform3d, catransform3drotate

Comment appliquer une rotation à vos UIView en 3D? - ios, uiview, transform, catransform3d, catransform3drotate

J'ai une tâche très simple, mais je ne peux pas comprendre CATransform3DRotate. J'ai 3 UIImageView avec une hauteur et une largeur égales, et j'ai besoin de définir une transformation pour les éléments gauche et droit pour le résultat suivant: https://dl.dropboxusercontent.com/u/15196617/result.png

Écran d'origine: https://dl.dropboxusercontent.com/u/15196617/original.png

Mes sources:

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;

Ce n'est pas du travail.

Réponses:

3 pour la réponse № 1

Ce que vous voulez faire, c'est appliquer la transformation avec altérée .m34 composant de la superposition de vos vues d’image, en tant que sublayerTransform. C'est ce qui donne aux images une apparence de profondeur.

Cette image a commencé sa vie comme un carré. Mais il semble tourné en 3D car sa super-couche a une sublayerTransform:

entrer la description de l'image ici


0 pour la réponse № 2

J'ai trouvé une solution pour ce type d'animation. S'il vous plaît vérifier ce lien

https://github.com/GlennChiu/GC3DFlipTransitionStyleSegue

Ceci peut être ajouté en utilisant des pods.

acceptez la réponse si cela fonctionne.