[Obj-C] TableView, pbm de scroll

NeoJF

Membre actif
1 Novembre 2000
485
6
41
1 chance sur 10 comme toi !
rch.web.free.fr
Je débute en prog, et j'utilise dans un prog un tableView pour afficher une liste (normal me direz-vous
grin.gif
). Tout marche bien, ma liste s'affiche ok, mon seul pbm est que les barres de défilement sont inactives même quand le nombre d'éléments contenus dans ma tableViewDataSource est plus grand que celui des éléments affichés. Pour activer les scrolls et atteindre la fin de ma liste, je doit nécessairement modifier la taille d'une colonne, et là, les barres apparaissent.
Qqun aurait une idée pour supprimer ce bug ?
 
es-tu sûr que ton reloadData est au bon endroit?
généralement à la fin de la commande modifiant ton datasource.

essaie voir aussi de forcer la mise à jour de l'affichage de ta NSTableView en lui envoyant le message display à la fin du traitement.
 
Merci, ça marche !
En fait, le bug venait tout simplement du reloadData...que je n'avais pas mis
grin.gif
grin.gif
grin.gif

Bon en fait, je l'ai mis après les 2, 3 messages dans l'awakeFromNib qui initialisent mon tableau. ça marche nickel.
Bon, c pas très clair tout ça pasque j'utlise pas reloadData dans ma méthode pour modifier ma liste (ce sont les méthodes du protocole, ça marche tout seul) mais j'ai réussi à faire ce que je voulais.
Si on m'explique tout ça clairement, bien au propore pourquoi on a besoin du display ou du reloadData (j'croyais que ça s'faisait tout tou seul moi
confused.gif
), j'suis pas contre
wink.gif
 
NeoJF,
Saches que quand tu déclare des objets view, tu dois les gérer. Cela veut dire les informer de tout changement. Si jamais tu modifie le contenu de la source de données, c'est normal que tu lui dises attention il y a de nouveaux trucs à manger va les chercher.
C'est pareil quand tu modifie les éléments d'une interface tu lui demande de mettre son affichage à jour en lui envoyant le message redisplay.
Tout cela est logique. Les objets sont 'aveugles' pour les informer il faut utiliser soit les messages, soit les notifications.