Ho visto alcuni materiali sul web, ma ancora non riesco a arrivare dove voglio. Ho bisogno di animare la mia vista verso il basso, aumentando l'altezza.come animare durante il ridimensionamento UIView
Ecco il mio codice finora. Quello che sta succedendo qui è che invece di ridimensionare la mia vista, è solo cambiando la sua posizione un po 'su. Se cambio la proprty invece di "bounds.size" essere "transform.scale.y", è un po 'meglio, solo che questa volta si espande la vista sia su e giù, non solo verso il basso.
Un'altra cosa che io non sono di: sono queste le chiavi solo proprietà CALayer? dove posso trovare un elenco di queste chiavi?
Vorrei davvero apprezzare aiuto qui. Grazie!
int x = self.btnHead.frame.origin.x;
int y = self.btnHead.frame.origin.y;
int height = self.btnHead.frame.size.height;
int width = self.btnHead.frame.size.width;
CABasicAnimation *resizeAnimation = [CABasicAnimation animationWithKeyPath:@"bounds.size"];
[resizeAnimation setToValue:[NSValue valueWithCGSize:CGSizeMake(width,height+50)]];
resizeAnimation.fillMode = kCAFillModeForwards;
resizeAnimation.removedOnCompletion = NO;
CAAnimationGroup *animationGroup = [CAAnimationGroup animation];
animationGroup.animations = [NSArray arrayWithObjects:resizeAnimation,nil];
animationGroup.removedOnCompletion = NO;
animationGroup.fillMode = kCAFillModeForwards;
animationGroup.removedOnCompletion=NO;
animationGroup.duration = 0.1;
[self.btnHead.layer addAnimation:animationGroup forKey:@"animations"];
Edit: postare il mio primo codice come richiesto - Questo sarà solo cambiare la mia dimensione di visualizzazione, ma non animerà, non importa la durata io entro.
int x = self.btnHead.frame.origin.x;
int y = self.btnHead.frame.origin.y;
int height = self.btnHead.frame.size.height;
int width = self.btnHead.frame.size.width;
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:10];
CGRect rect = CGRectMake(x,y,width ,height+BUTTON_HEIGH*2);
self.btnHead.frame = rect;
[UIView commitAnimations];
Suppongo che l'impostazione 'btnHead.clipsToBounds = YES' impone efficacemente un'impostazione di ridisegno come 'btnHead.contentMode = UIViewContentModeRedraw'. Tuttavia, non fa menzione di ciò nella documentazione. Questo probabilmente accade perché è molto probabile che cambiando i 'limiti' di una vista con ritaglio attivato mostrerà parti della sua gerarchia di viste che non erano visibili prima. Ecco come funzionano le visualizzazioni di scorrimento. –