J'ai quelques tableaux (style groupé) dans mon application iphone (uniquement sur une partie de l'écran et ajoutés avec, Interface Buildermais non sous-classés UITableViewController), dont 80% du temps sont petits et s'adapteront à l'écran. Lorsque le tableau tient sur l'écran, je voudrais désactiver le défilement, pour le rendre un peu plus propre. Mais si le tableau disparaît de l'écran (lorsque des lignes y sont ajoutées ultérieurement), j'aimerais réactiver le défilement (car sinon vous ne pouvez pas voir ce contenu.)
Y a-t-il un moyen de faire cela? Je n'arrive pas à comprendre. Je sais faire:
tableView.scrollEnabled = NO;
mais je ne sais pas où, ni si je dois calculer la taille de l'objet de la table ou quelque chose pour que cela fonctionne.
Mise à jour : voici la solution qui a finalement fonctionné pour moi:
if (table.contentSize.height < table.frame.size.height) {
table.scrollEnabled = NO;
}
else {
table.scrollEnabled = YES;
}
J'exécute ce code après avoir appelé reloadDatala table, il calcule les bonnes tailles et semble fonctionner.
table.frame.size.heightest la taille réelle de l'objet (vous pouvez le voir dans Interface Builder) affiché à l'écran, tandis que table.contentSize.heightles hauteurs de: l'en-tête, le pied de page et la hauteur de chaque cellule sont additionnées.

