2010-03-18 6 views
2

J'ai un problème avec l'indicateur, mon intention est d'afficher l'indicateur "attente" flottant au-dessus de l'UITable lorsque l'utilisateur clique sur l'une des lignes UITable, et pendant l'attente cet utilisateur peut encore faire défiler la table.comment garder le UIActivityIndicator "flottant" au-dessus de l'UITable?

Mais le problème est que lorsque je fais défiler la table, l'indicateur bouge aussi! Quelqu'un peut-il aider à ce sujet??

Répondre

2

Tout dépend de l'endroit où vous placez l'indicateur UIActivityIndicator. Vous devez donner plus de détails ou montrer du code. Je suppose que vous placez l'indicateur d'activité dans un UITableViewCell, puis l'indicateur d'activité se déplace avec la cellule.

Si vous souhaitez que l'indicateur d'activité ne bouge pas avec une cellule, vous devez ajouter l'indicateur d'activité à la vue qui contient UITableView. Créez donc un UIViewController qui a un UITableView, et un UIActivityIndicator et un [self.view addSubview: le UITableView, puis le UIActivityIndicator.

+0

Je mets l'indicateur ici: - (void) tableView: (UITableView *) tableView didSelectRowAtIndexPath: (NSIndexPath *) indexPath { \t \t downloadIndicator = [[UIActivityIndicatorView alloc] initWithFrame: CGRectMake (0.0f, 0.0f, 50,0 f, 50,0 f)]; \t \t [downloadIndicator setCenter: CGPointMake (160.0f, 220.0f)]; \t \t [downloadIndicator setActivityIndicatorViewStyle: UIActivityIndicatorViewStyleGray]; \t \t [self.view addSubview: downloadIndicator]; \t \t downloadIndicator.hidden = FAUX; \t \t [downloadIndicator startAnimating]; \t \t [self.view bringSubviewToFront: downloadIndicator]; \t \t [contentsTableView reloadData]; } – Georg

+0

Le tableau est dans un UISubViewController, elle est déclarée comme ceci: @interface appSubViewController: UITableViewController { } – Georg

+0

Vous ajoutez l'indicateur d'activité à la vue du UITableViewController. C'est pourquoi ça bouge quand vous faites défiler. UITableView est en fait un type de UIScrollView. Donc, puisque vous placez l'indicateur d'activité sur (160, 220) qui est déplacé lorsque vous faites défiler vers le bas. Ce que vous devez faire est: @interface appSubViewController: UIViewController ... Ensuite, ajoutez un UITableView manuellement à la UIViewController. Maintenant, lorsque vous faites [self.view addSubview sur l'indicateur d'activité, vous le placerez dans la vue de UIViewController au lieu de UITableView et l'indicateur d'activité ne s'éloignera pas. –

Questions connexes