2010-06-13 4 views
2

ii voulez activer le défilement vertical par la programmation pour 2 UITableview à sametime? (Une longueur de vue de table 160, un autre a 160) .est-il possible? Dans une vue Viewcontroller j'ai scrollview, sur que j'ai deux vues de table (au lieu d'un, comme deux colonnes) .. comment puis-je faire défiler verticalement les deux en même temps? Toute aide s'il vous plaît?TableVIew Problème

Répondre

2

Si vous souhaitez implémenter 2 colonnes séparées et arrondies, cela peut sembler logique.

Dans tout autre cas, utilisez un UITableView et séparez chaque cellule visuellement (la moitié gauche affichera les données pour la première colonne et la droite - pour la seconde).

Si vous souhaitez toujours avoir deux vues de table distinctes et que les deux défilent simultanément, supprimez la vue de défilement contenant et implémentez le UIScrollViewDelegate comme cela a déjà été suggéré.
Quelque chose comme ceci:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView { 
    self.leftTableView.contentOffset = scrollView.contentOffset; 
    self.rightTableView.contentOffset = scrollView.contentOffset; 
} 

Je pense que ce code devrait faire la magie ...

Ne pas oublier de mettre le contrôleur en vue d'être le délégué des deux vues de table.

0

Je ne comprends pas vraiment mais une vue de table sur le dessus d'un défilement de vue créera des problèmes. Parce que, lorsque les utilisateurs défilent, les deux vues vont essayer d'obtenir l'interaction de l'utilisateur, et ils peuvent prendre à tour de rôle pour obtenir cette interaction au hasard.

0

Pouvez-vous poster une photo, ou une description plus claire de ce que vous voulez?

Si votre question suivante est "comment faire en sorte que les vues de défilement restent au même décalage?" - c'est-à-dire que vous voulez qu'ils se synchronisent verticalement - que je vous conseillerais d'abandonner l'idée d'utiliser deux UITableViews. Au lieu de cela, définissez un UITableViewCell à deux colonnes, ce qui peut être facilement fait avec Interface Builder, et utilisez-le pour donner l'apparence de deux colonnes.

0

Je pense que faire disparaître ni userInteractionEnabled de UITableView ensemble à YES, et mettre en œuvre votre propre méthode touchesMoved:withEvent: (peut-être aussi essayer UIGestureRecognizer s) se révélerait fructueuse. Je suppose que ces UITableView s ne sont pas utilisés pour afficher des données tabulaires simples mais des images ou d'autres contenus, et ont un paradigme d'interaction différent (par exemple, lorsque les deux doigts glissent séparément les deux tableaux défilent dans une direction différente) &). Si c'est le cas, vous pouvez éventuellement utiliser des contrôles personnalisés.

Mais si vous voulez simplement un UITableView à 2 colonnes alors, comme l'a dit Jonathan, utilisez simplement une cellule à deux colonnes.

Questions connexes