Sto cercando di trovare la posizione corrente di un iPhone ImageView che si sta animando sullo schermo.Accesso alla posizione corrente di UIView durante l'animazione
creo e animare l'ImageView in questo modo
-(IBAction)button:(UIButton *)sender{
UIImageView *myImageView =[[UIImageView alloc] initWithImage:
[UIImage imageNamed:@"ball.png"]];
myImageView.frame = CGRectMake(0, self.view.frame.size.height/2, 40, 40);
[self.view addSubview:myImageView];
[myArray addObject:myImageView];
[UIView animateWithDuration:.5
delay:0
options:(UIViewAnimationOptionAllowUserInteraction) // | something here?)
animations:^{
myImageView.frame = CGRectOffset(myImageView.frame, 500, 0);
}
completion:^(BOOL finished){
[myArray removeObject:myImageView];
[myImageView removeFromSuperview];
[myImageView release];
}
];
}
quindi per rilevare la corrente CGPoint del ImageView io chiamo questo metodo ogni 60 ° di secondo
-(void)findPoint{
for (UIImageView *projectile in bullets) {
label.text = [NSString stringWithFormat:@"%f", projectile.center.x];
label2.text = [NSString stringWithFormat:@"%f", projectile.center.y];
}
}
Tuttavia questo dà solo a me la punto in cui termina l'animazione, voglio ottenere il CGPoint corrente dell'immagine che si sta animando sullo schermo. C'è un'opzione che ho bisogno di applicare diverso da UIViewAnimationOptionAllowUserInteraction per fare questo? In caso contrario, come ottengo la posizione corrente di un'immagine animata?
Grazie !! questo funziona perfettamente, a parte un avviso che non viene trovato il metodo '-presentationLayer'. Devo importare un framework? – user975134
ottenuto #import grazie ancora !! –
user975134
perfettamente in grado di accettare la risposta? :-) Sì, ho dimenticato di menzionare che dovresti collegare QuartzCore.framework e aggiungere un'importazione #import, come faresti ogni volta che ti occupi di CALayers. –
adamsiton