0 votes

Barre de progression pour iPhone

Comment modifier la couleur et la taille de la barre de progression UIProgressBar dans le SDK de l'iPhone ?

4voto

Can Berk Güder Points 39887

En supposant que vous voulez dire un UIProgressView vous pouvez la redimensionner comme n'importe quelle autre vue, en définissant le cadre :

UIProgressView *progressView = [[UIProgressView alloc] initWithProgressViewStyle:UIProgressViewStyleBar];
[progressView setFrame:CGRectMake(0,0,320,10)];

ou si vous utilisez le style par défaut, vous pouvez définir le cadre dans la méthode init :

UIProgressView *progressView = [[UIProgressView alloc] initWithFrame:CGRectMake(0,0,320,10)];

Autant que je sache, la couleur d'un UIProgressView ne peut pas être modifié. Vous devrez probablement créer votre propre vue pour cela.

4voto

Dan Harrelson Points 312

Comme Can l'a noté, il y a très peu de personnalisation disponible pour UIProgressView... c'est assez nul. La solution que je viens de mettre en œuvre a été de pirater un UISlider. Voici le inspiration sur le forum d'assistance d'Apple.

  1. Créer un nouveau UISlider
  2. Réglez les paramètres setMinimumTrackImage et setMaximumTrackImage sur les valeurs UIImage souhaitées.
  3. Définir le setThumbImage à nil
  4. Définir les limites supérieure et inférieure du curseur

Une fois que cela est configuré et ajouté à votre UIView, utilisez votre méthode personnalisée pour définir la valeur du curseur à la valeur que vous auriez normalement assignée à la progression de l'UIPRogressView.

1voto

Christopher Scott Points 665

Vous pourriez probablement aussi en créer une en utilisant une image qui ressemble à la barre de progression à sa plus petite taille, puis créer une image extensible avec cette image.

UIImage *progressBarImg= [someImage stretchableImageWithLeftCapWidth:5.0 topCapHeight:0.0];

Vous pourriez alors définir l'image en tant qu'image d'arrière-plan pour un bouton UIB désactivé et animer la largeur du bouton de manière incrémentielle pour indiquer la progression. Je n'ai pas encore essayé, mais je pense que cela pourrait fonctionner.

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