J'ai essayé d'envoyer des Y a-t-il une autre façon d'obtenir une barre de progression qui se remplit de la partie droite? p> [uiprogressview setProgress] code> valeurs négatives, et cela ne fonctionne pas. P>
8 Réponses :
Vous pouvez essayer de définir le paramètre Quelque chose le long des lignes de: p> transformer code>
Propriété de votre uiprogressview code> à un nouveau
cgaffinetransform code> qui fait tourner la vue de 180 degrés et le retourne verticalement (Pour préserver le "brillance") (voir
cgaffinetransformMake () code> et
cgaffinetransformrotate () code>).
UIProgressView *pv = [[UIProgressView alloc] initWithProgressViewStyle:UIProgressViewStyleBar];
pv.frame = CGRectMake(10, 100, 300, 11);
CGAffineTransform transform = CGAffineTransformMake(1, 0, 0, -1, 0, pv.frame.size.height); // Flip view vertically
transform = CGAffineTransformRotate(transform, M_PI); //Rotation angle is in radians
pv.transform = transform;
pv.progress = 0.5;
Cela fonctionne, mais la bronzage sur le bar est maintenant à l'envers: puis-je le refléter verticalement?
Ah, je l'ai eu! PV.TRANSFORM = CGAFFINETRANSFORMSCALE (CGAFFINETANSFORMMAUSEOATION (M_PI), 1.0, -1.0); CODE> Merci!
@Autopulé - cela fonctionne simplement bien, ou vous pouvez utiliser le code mis à jour dans ma réponse.
Vous pouvez faire pivoter la vue par 180 °:
progressView.transform = CGAffineTransformMakeRotation(-M_PI);
Vous pouvez faire pivoter le où Pour modifier la valeur de progression, utilisez des nombres positifs. p> p> uiprogressview code>:
degreestoradians code> est: p>
Dans iOS 7 avec des storyboards, vous pouvez définir la teinte de progression sur la teinte de la piste et inversement, puis soustraire la valeur normale de l'un et définir cela dans la progression actuelle. Probablement mieux de le faire l'autre (rotation), mais je pensais jetter cela là-bas. P>
Une version plus simple consiste à le renvoyer horizontalement.
progressView.transform = CGAffineTransformMakeScale(-1.0f, 1.0f);
progressView.transform = CGAffineTransform(rotationAngle: .pi)
Dans iOS 9+, vous pouvez utiliser SémanticContentiTatribute Code>: P>
progresview.semanticContentaTatriBute = .forcerighttoleft code> p>
Swift 5 : progressView.transform = CGAffineTransform(scaleX: -1.0, y: 1.0)
Vous pouvez toujours créer votre propre barre de progression - ce n'est pas du tout difficile.
Pouvons-nous faire pivoter la barre de progression comme verticale?