Question

J'ai recherché tous les articles sur Google et Stackoverflow mais je ne peux tout simplement pas résoudre ce puzzle. J'essaie de recréer l'effet que la désormais célèbre application Todo «Clear» fait lors de l'ajout d'une nouvelle tâche. Ils ont une sorte d'animation qui, du haut, une nouvelle tâche apparaît dans une sorte d'effet 3D-cube. La chose particulière qu'ils ont, c'est que lorsque vous regardez de près, les coins inférieurs gauche et droit restent toujours au même endroit.

À l'heure actuelle, j'ai ce qui suit: Un uiView de 320x460 set au point 0,0 et un uiView de 320x460 set au point (0, -460). Ce que je veux, c'est que le meilleur uiView descend dans le même effet cube que clair du haut. C'est ce que j'ai jusqu'à présent:

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    //startLoc is defined globally to remember the first position
    startLoc = [[touches anyObject] locationInView:self];
}

-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
    CGPoint location = [[touches anyObject] locationInView:self];
    float difference = location.y-startLoc.y;         

    if(diff > 0 && diff < 90)
    {
        //Init the transform
        CATransform3D transform = CATransform3DIdentity;
        transform.m34 = perspective;
        //Rotate (radians is a degree-to radians function)
        transform = CATransform3DRotate(transform, radians(90-diff), 1.0f, 0.0f, 0.0f);
        //Also translate the view down        
        transform = CATransform3DTranslate(transform, 0.0f, 230+diff, 0.0f);
        //the 230 is necessary I think for the Anchorpoint but I'm not sure
        secondView.layer.transform = transform;
}    

}

Cela fonctionne d'une manière ou d'une autre, dès que je fais la rotation, la vue devient plus grande et les coins inférieurs à gauche et en bas sont hors de la vue. Si je fais réaliser la vue, puis je fais un 3dscale, il est également gâché. J'ai déjà résolu le problème de la moitié de la disparition de l'image en définissant correctement la Zposition des couches, mais c'est aussi loin que possible. J'ai essayé d'utiliser du code à partir d'autres projets, mais tous leurs effets de cube 3D ne sont pas les mêmes que l'application «claire». Le seul qui se rapproche est le projet iCarel, mais je ne suis pas en mesure d'utiliser le code correct de l'application, je ne peux pas le faire fonctionner. Est-ce que quelqu'un peut m'aider?

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top