Je veux faire quelque chose de très simple avec mon UITableView: Je veux ajouter un UIActivityIndicatorView à la vue d'en-tête d'une section, et la faire animer ou disparaître quand je veux.Comment accéder à un UIActivityIndicatorView dans la vue d'en-tête d'une section UITableView?
Je n'avais pas du mal à ajouter le UIActivityIndicatorView à la vue d'en-tête en utilisant tableView: viewForHeaderInSection:
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UIView* customView = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, 320.0, 60.0)];
// create the title
UILabel * headerLabel = [[UILabel alloc] initWithFrame:CGRectMake(15.0, 12.0, 310.0, 22.0)];
headerLabel.text = @"some random title here";
[customView addSubview:headerLabel];
[headerLabel release];
// Add a UIActivityIndicatorView in section 1
if(section == 1)
{
[activityIndicator startAnimating];
[customView addSubview:activityIndicator];
}
return [customView autorelease];
}
activityIndicator est une propriété de la classe de mon contrôleur. Je alloc dans la méthode viewDidLoad:
- (void)viewDidLoad
{
(...)
activityIndicator = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(200, 10, 25, 25)];
}
De cette façon, je peux envoyer des messages à lui (comme -startAnimating ou -stopAnimating) chaque fois que je veux. Le problème est que le activityIndicator disparaît dès que je fais défiler la tableView (je suppose que c'est parce que la méthode tableView: viewForHeaderInSection: est appelée une deuxième fois). Comment sinon ajouter une activityIndicatorView à la vue d'en-tête de la section et pouvoir encore lui envoyer des messages par la suite? (avec l'activitéIndicator ne disparaît pas quand je défile vers le bas bien sûr)
Merci beaucoup!
Je ne veux pas avoir un indicateur d'activité à plusieurs endroits, juste un. – nmondollot
Eh bien, c'est ce que vous aviez l'air d'essayer de faire puisque je ne pouvais pas imaginer d'autre raison pour continuer à ajouter la sous-vue à la même – Nimrod