2008-11-12 4 views
4

J'utilise UIActivityIndicatorView pour montrer à l'utilisateur qu'il se passe quelque chose, qu'il attende. Mais UIActivityIndicatorView est petit, n'a pas de couleur d'arrière-plan et n'est pas très évident pour l'utilisateur. Alors que dans UIImagePickerController de l'iPhone SDK, il utilise le mécanisme similaire, mais avec le fond noir ainsi que du texte en plus de l'indicateur.Couleur d'arrière-plan pour UIActivityIndicatorView

Je me demande s'il y a un composant existant pour faire cette tâche, ou je dois implémenter ma propre classe pour effectuer cette tâche.

Toutes les suggestions sont les bienvenues, merci d'avance.

Répondre

13

Si vous voulez juste une autre couleur de fond de votre UIActivityIndictatorView, vous pouvez simplement envoyer le message setBackgroundColor à l'objet, à savoir:

[activityIndicator setBackgroundColor:[UIColor blackColor]]; 

Par ailleurs, vous pouvez changer la taille de l'indicateur ainsi . faites simplement setFrame ou initWithFrame avec un rect plus grand. Rappelez-vous que UIActivityIndicatorView hérite de UIView pour que vous ayez toute la personnalisation de UIView.

2

Semble que je dois encore créer une vue séparée, parce que l'indicateur sera automatiquement agrandi si j'agrandis le cadre.

Merci.

5

Essayez cette méthode simple, Son travail bien pour moi ....

UIActivityIndicatorView *activityIndicator= [[UIActivityIndicatorView alloc]initWithFrame:CGRectMake(0, 0, 50, 50)]; 
activityIndicator.layer.cornerRadius = 05; 
activityIndicator.opaque = NO; 
activityIndicator.backgroundColor = [UIColor colorWithWhite:0.0f alpha:0.6f]; 
activityIndicator.center = self.view.center; 
activityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyleGray; 
[activityIndicator setColor:[UIColor colorWithRed:0.6 green:0.8 blue:1.0 alpha:1.0]]; 
[self.view addSubview: activityIndicator]; 

lignes suivantes en charge Add vue

//-- Add this line while processing to load your view 
    [activityIndicator startAnimating]; 

//-- Add this line when after you view loaded 
    [activityIndicator stopAnimating]; 
Questions connexes