Comment modifier la couleur et la taille de la barre de progression UIProgressBar dans le SDK de l'iPhone ?
Réponses
Trop de publicités?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.
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.
- Créer un nouveau UISlider
- Réglez les paramètres setMinimumTrackImage et setMaximumTrackImage sur les valeurs UIImage souhaitées.
- Définir le setThumbImage à nil
- 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.
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.