2010-03-04 4 views
1

Les en-têtes de section de vue de table dans mon plaine (non groupé) UITableView apparaissent uniquement lorsque la table a été placée en mode d'édition. C'est parce que j'ai deux sections dans la vue de tableau: Actif et inactif. Je souhaite seulement que la section active soit affichée normalement, mais nécessite que Active et Inactive soient affichées en mode d'édition. Ainsi, l'affichage des en-têtes de section en mode d'édition permet une distinction facile entre les deux sections de vue de table.En-tête de section UITableView en mode d'édition uniquement

Cependant, je rencontre le problème suivant. Lorsque vous appuyez sur le bouton d'édition (pour placer le UITableView en mode d'édition), les en-têtes de section sont insérés et une bande d'espace blanc apparaît au-dessus de chaque section du UITableView. Cependant, l'en-tête lui-même ne s'affiche pas - juste un espace blanc qui correspond exactement aux dimensions de la barre d'en-tête de la section. Si je fais défiler UITableView (même si légèrement, sans même prendre l'espace d'en-tête de section hors écran) la barre d'en-tête de section apparaît immédiatement. Il semble presque que le UITableView ne repeigne pas correctement cet espace.

La façon dont les en-têtes de section doivent s'afficher en mode d'édition uniquement consiste à placer une instruction if (self.tableView.editing) { } dans la méthode de délégation titleForHeaderInSection.

J'ai essayé de faire un [self.tableView reload] et de la même manière qui affiche correctement les en-têtes de section, mais élimine également la belle animation entre le mode édition et non-édition (que je souhaite évidemment garder).

Toutes les idées sur la façon de résoudre ce problème étrange seraient très appréciées!

+0

Avez-vous déjà trouvé une solution à ce problème? –

+0

Bonjour Johan. Malheureusement non. Vivez-vous le même problème? – Skoota

Répondre

1

Le meilleur que je suis en mesure de trouver est la suivante:

[tableView reloadSections:[NSIndexSet indexSetWithIndex:0] 
     withRowAnimation:UITableViewRowAnimationFade]; 

Les travaux d'animation, mais il est pas aussi bien que l'animation d'édition par défaut. Cela suppose que vous voulez recharger l'en-tête/pied de page dans la section 0.

Questions connexes