Bug tableView scroll avec section

muqaddarmuqaddar Administrateur
22:09 modifié dans API UIKit #1
Salut,

Dans une de mes tableView, j'ai un bug lorsque je scroll vers le haut (et donc que je vais afficher mes cells du bas de la tableView).

Ce qui se passe : la table de cells passe SOUS le premier item de section au lieu que cette section monte également avec la table.

Les autres sections de ma tableView montent correctement... c'est la première section qui reste seule immobile lorsque je scrolle vers le haut (mais PAS vers le bas).

On dirait que la tableView ne comprend pas que la première section lui appartient !

Quelqu'un a une piste ?
Je précise que les sections sont personnalisées avec des propres views mais je ne pense pas que ça vienne de là .

Réponses

  • AliGatorAliGator Membre, Modérateur
    22:09 modifié #2
    Es-tu sûr que ce n'est pas le comportement normal ?

    Je vois par exemple dans les UITableViews standard ayant des sections, telles que celles qu'on peut voir dans le Carnet d'Adresses intégré à  l'iPhone, quand on scrolle, on a toujours le header de la section "courante" d'affichée.

    Ainsi, si on est dans les contacts commençant par la lettre F, même si on est bien loin du début des "F" et que le premier "F" est passé depuis longtemps, le titre de section "F" reste visible. En fait quand on arrive à  la fin du E et le début de F, on voit le titre de section "F" arriver depuis le bas, mais quand on continue de scroller, ce titre de section "F" reste "collé" en haut de la tableView (jusqu'à  ce qu'on arrive à  la section suivante, genre "G") et les cellules appartenant à  la section "F" passent "en dessous" de ce titre de section.

    C'est donc un comportement normal (fais le test avec ton appli "Contacts" de ton iPhone ou simulateur, tu verras ;))... Je pense que c'est ce qui t'arrive, non ?

    Après, reste à  savoir, si ce comportement te dérange, comment le désactiver, si c'est possible. Ou comment contourner la chose sinon...
  • muqaddarmuqaddar Administrateur
    mai 2009 modifié #3
    Ah bein oui, c'est le comportement standard !
    Mais je n'y ai pas pensé parce que dans ma première application où ma tableView est construite de la même façon, ce comportement n'existe pas, et j'ai bien un scroll complet.

    Alors je scrute mon code (ou bien un item coché dans IB ?), mais je ne vois pas pourquoi ce comportement existe dans ma première application et pas dans l'autre...

    EDIT : j'ai trouvé, ce comportement est actif sur les tableViews PLAIN mais pas sur les tableViews GROUPED

    Le problème, c'est que j'ai besoin d'une tableView PLAIN vu que tout est personnalisé (table, cellule...etc)...

    Faut que j'essaie de voir comment forcer ce comportement, je repars voir la doc... 

    EDIT 2 :

    Table views can have one of two styles, UITableViewStylePlain and UITableViewStyleGrouped. When you create a UITableView instance you must specify a table style, and this style cannot be changed. In the plain style, section headers and footers float above the content if the part of a complete section is visible. A table view can have an index that appears as a bar on the right hand side of the table (for example, "a" through "z").
Connectez-vous ou Inscrivez-vous pour répondre.