8 votes

Une barre de progression de droite à gauche est-elle possible sur iOS ?

J'ai essayé d'envoyer [UIProgressView setProgress] des valeurs négatives, et cela ne fonctionne pas.

Existe-t-il un autre moyen d'obtenir une barre de progression qui se remplit à partir de l'extrémité droite ?

11voto

Kyle Points 1238

Vous pouvez essayer de régler le paramètre transform propriété de votre UIProgressView à une nouvelle CGAffineTransform qui fait pivoter la vue de 180 degrés et la retourne verticalement (pour préserver la "brillance") (voir CGAffineTransformMake() y CGAffineTransformRotate() ).

Quelque chose comme ça :

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;

8voto

Evan Mulawski Points 28536

Vous pouvez faire pivoter le UIProgressView :

progressView.transform = CGAffineTransformMakeRotation(DegreesToRadians(180));

DegreesToRadians est :

#define DegreesToRadians(d) ((d) * M_PI / 180.0)

Pour modifier la valeur de la progression, utilisez des nombres positifs.

7voto

user4735705 Points 71

Une version plus simple consiste à le retourner horizontalement.

progressView.transform = CGAffineTransformMakeScale(-1.0f, 1.0f);

5voto

Joshua C. Lerner Points 1090

Dans iOS 9+, vous pouvez utiliser semanticContentAttribute :

progressView.semanticContentAttribute = .forceRightToLeft

2voto

Nick Weaver Points 30418

Vous pouvez faire pivoter la vue de 180° :

progressView.transform = CGAffineTransformMakeRotation(-M_PI);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X