2009-09-19 5 views
4

J'ai découvert que la première fois qu'un UITableView se charge, il ne répond pas aux touches de défilement - s'il ne contient pas plus de lignes que l'écran ne le permet. Si je ferme la vue, puis rouvrir le même objet - il va maintenant répondre aux touches - même s'il contient le même nombre de lignes.UITableView ne répond pas au défilement la première fois qu'il est chargé

Je ne fais rien d'autre que de répondre aux méthodes UITableViewDataSource pour le nombre de lignes et de générer les lignes elles-mêmes. Je recharge la table chaque fois que la vue apparaît.

Quelqu'un peut-il expliquer un tel comportement?


Je crée les cellules comme ceci:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *tableId = @"NewIndexTableId"; 
    Note *note = [notes objectAtIndex:[indexPath row]]; 

    UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:tableId]; 

    if (cell == nil) 
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:tableId] autorelease]; 

    cell.textLabel.text = note.text; 
    cell.detailTextLabel.text = [note changedDelta]; 
    cell.accessoryView = multipleAccounts ? [note.account imageView] : nil; 

    return cell; 
} 
+0

Comment créent-vous les cellules? – pgb

+0

En supposant que vous ayez un fichier Interface Builder ('xib') qui contient votre' UITableView', quels paramètres avez-vous activés dans Interface Builder pour cette vue? –

+0

Seuls les paramètres par défaut avec le délégué et les sources de données liées au propriétaire du fichier. – Alex

Répondre

0

J'ai résolu ce problème en m'assurant qu'il y a toujours au moins 10 lignes dans la table - en créant des lignes fictives quand il y a moins de 10 lignes réelles. Cela a résolu le problème.

0

Qu'est-ce que votre fichier xib ressemble? Avez-vous des vues autres que UITableView? Au début, lorsque j'apprenais la programmation iPhone, j'ai fini par avoir deux UITableViews dans mon fichier xib - la table s'affichait correctement, mais montrait des problèmes subtils.

17

J'ai eu le même problème. Bounce Scroll a été activé dans IB, mais toujours pas d'amour. Je dû le mettre dans le code (en viewDidLoad) comme si ...

self.myTableView.bounces = YES; 

Hope this helps ;-)

+0

et si cela échoue, faites ceci ... [self.tableView setAlwaysBounceVertical: YES]; – Mike

+0

Merci. A travaillé pour moi! –

+0

Vous êtes Gandalf :) Merci) –

Questions connexes