2011-09-14 18 views
6

Ho un UIView chiamato geopointView. Voglio animare la diapositiva in questa UIview sul riquadro della vista principale quando viene premuto un pulsante (myButton). Se myButton viene premuto nuovamente, UIview dovrebbe scivolare fuori dal frame. myButton chiama seguente metodo "optionsCalled"UIView anima la diapositiva ma non la scorre fuori usando il metodo di animazione dei blocchi

-(void) optionsCalled 
{ 
if (![[self.view subviews] containsObject:geopointView] &&checkForGeopointViewAnimation ==0) { 

     [self.view addSubview:geopointView]; 
     geopointView.frame = CGRectMake(0,430,320,30); 
     [UIView animateWithDuration:0.3f 
         animations:^{ 
          geopointView.frame = CGRectMake(0, 350, 100, 80); 
         } 
         completion:^(BOOL finished){ 
          checkForGeopointViewAnimation = 1 ; 
         }]; 

    } 
    if ([[self.view subviews] containsObject:geopointView] && checkForGeopointViewAnimation ==1) 
    { 

     geopointView.frame = CGRectMake(0, 350, 100, 80); 
     [UIView animateWithDuration:0.3f 
         animations:^{ 
          geopointView.frame = CGRectMake(0,430,320,30); 
         } 
         completion:^(BOOL finished){ 
          checkForGeopointViewAnimation = 0 ; 
         }]; 

     [geopointView removeFromSuperview]; 

    } 

} 

qui checkForGeopointViewAnimation è una variabile globale definita per garantire scorrere dentro e fuori non sono poste in una sola volta.

Il problema con questo codice è che UIview scorre in modo animato ma non anima l'azione di estrazione. scompare solo dalla cornice principale. Devo utilizzare qualsiasi momento qui in modo che ci sia un ritardo nel chiamare aggiungere e rimuovere le funzioni di UIview?

Grazie per qualsiasi aiuto in anticipo

risposta

5

Prova [geopointView removeFromSuperview]; dopo il completamento dell'animazione

+0

Grazie mille per aver ricordato che .. – alekhine

+1

@amol_subhedar: Si prega di votare tutte le risposte che ti hanno aiutato proprio come un segno di apprezzamento. – visakh7

4

Forse avete bisogno di chiamare [geopointView removeFromSuperview]; nel blocco di completamento, invece?

+0

Grazie per la tua risposta .. – alekhine

Problemi correlati