8
votes

Animer Calayer d'UIView aux coins ronds

J'essaie d'animer l'arrondi des coins de ma vue. La propriété Cornerradius est répertoriée comme animée, mais je ne peux pas sembler le faire fonctionner. En fait, je ne peux pas avoir d'autres propriétés à animer non plus non plus, mais les coins sont ce qui m'intéresse. Voici mon code, et c'est assez simple: xxx

Qu'est-ce que je suis Manquer ici les gars? Les coins se font arrondir, mais il est instantané au lieu de prendre 2 secondes.


0 commentaires

3 Réponses :


10
votes
CABasicAnimation *anim1 = [CABasicAnimation animationWithKeyPath:@"cornerRadius"];
anim1.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear];
anim1.fromValue = [NSNumber numberWithFloat:0.0f];
anim1.toValue = [NSNumber numberWithFloat:50.0f];
anim1.duration = 2.0;
[self.myView.layer addAnimation:anim1 forKey:@"cornerRadius"];

3 commentaires

Où se trouve ce code? dans ViewDidDload? ou viewwillappear? ou viewDidAppEar?


C'est l'action d'un bouton presse.


voir ci-dessus pour une nouvelle réponse améliorée



7
votes

SWIFT 4.2 / 5 strong>: xxx pré>

SWIFT 3 / 4.0 strong>: p>

let anim1 = CABasicAnimation(keyPath: #keyPath(CALayer.cornerRadius))


1 commentaires

#keyPath (Calayer.cornerradius) serait légèrement meilleur.



1
votes

On dirait que tu penses ça. J'ai pu obtenir sans utiliser de corporation. Voici ce que j'ai fait: xxx


0 commentaires