Essai A
ce codeCALayer sous-coucheTransform (CATransform3D) - comment puis-je déplacer "appareil photo"?
CATransform3D perspectiveTransform = CATransform3DIdentity;
perspectiveTransform.m34 = -1.0/1000.0;
perspectiveTransform = CATransform3DRotate(perspectiveTransform, angle/2.0, 0.0, 1.0, 0.0);
self.sublayerTransform = perspectiveTransform;
donne ce résultat
Le cadre rouge est la couleur de fond de la couche
Essai B
Ce code
CATransform3D perspectiveTransform = CATransform3DIdentity;
perspectiveTransform.m34 = -1.0/1000.0;
// following line is added
perspectiveTransform = CATransform3DTranslate(perspectiveTransform, -width/2.0, 0, 0);
perspectiveTransform = CATransform3DRotate(perspectiveTransform, angle/2.0, 0.0, 1.0, 0.0);
self.sublayerTransform = perspectiveTransform;
donne ce résultat
Le cadre rouge est la couleur de fond de la couche
Alors quel est le problème?
Dans l'exemple rendu de « tentative A » est vu du centre gauche et donc le pli est vu du mauvais angle (pli gauche devient légèrement plus mince que pli droite)
En traduisant sur l'axe des x , comme dans "Attempt B", je suis capable de le rendre correctement, mais ensuite il se produit une autre erreur: le contenu est maintenant hors des limites (le rectangle rouge est des bornes).
Comment puis-je faire de l'appareil photo à partir du milieu?
LoL Si vous postez les autres changements, il sera utile aux autres qui ont rencontré le même problème :) –
Bonne idée. Je n'ai pas révélé beaucoup de code, donc je pensais que ce n'était pas si important. Mais fondamentalement je juste ai dû traduire les autres vues en conséquence (pas par l'intermédiaire de sublayerTransform) – hfossli
Merci d'avoir fourni quelques détails au sujet de la solution que ceci aidera quelqu'un et augmentera également votre réputation aussi :) –