Utilizind CABasicAnimation , incerc sa mut o poza in centrul ecranului utilizind codul de mai jos
-(IBAction)btPoza:(UIButton *)sender {
[self.view bringSubviewToFront:((UIImageView *)[sender.superview viewWithTag:[sender tag]-5])];
CABasicAnimation *pozaAnimationToCenter = [CABasicAnimation animationWithKeyPath:@"position"];
pozaAnimationToCenter.duration=1;
pozaAnimationToCenter.repeatCount=1;
pozaAnimationToCenter.autoreverses=YES;
pozaAnimationToCenter.fromValue=[NSValue valueWithCGPoint:((UIImageView *)[sender.superview viewWithTag:[sender tag]-5]).center];
pozaAnimationToCenter.toValue=[NSValue valueWithCGPoint: self.tableView.window.center ];
[((UIImageView *)[sender.superview viewWithTag:[sender tag]-5]).layer addAnimation:theAnimation forKey:@"animateLayer"] ;
}
Respectiva poza se afla intr-un cell .
In cazul in care apesi poza aflata in primul row afisat ( cel mai de sus indiferent de indexpath ) , ajunge la centrul ecranului indiferent de pozitia in care se afla in acel cell .
Atunci cind fac acelasi lucru cu o poza aflata in rindurile urmatoare , poza nu mai ajunge in centrul ecranului ci mai jos ( pe orizontal este tot in centru ) .
Distanta dintre centrul ecranului si locul in care ajunge poza este egala cu row Height multiplicat cu pozitia rindului in ecran ( al doilea , al treilea , etc ) .
Intrebare este : cum determin punctul care reprezinta centrul ecranului ? ( am incercat cu self.tableView.window.center , self.view.center , self.view.window.center rezultatul fiind acelasi)
Totul se intimpla intr-un UITableViewController .