2012-12-10 25 views
12

ho letto molto su questo argomento, ho testato questo esempio che funziona: source code example. ma questo non usa gli storyboard (non so se questo è il motivo per cui il mio progetto non funziona) Ho realizzato un altro progetto usando lo storyboard, la stessa sequenza di istruzioni non funziona ...Seleziona riga uitableview programmaticamente

-(void)viewDidAppear:(BOOL)animated{ 
    NSIndexPath *indexPath = [NSIndexPath indexPathForRow:1 inSection:0]; 
    [firstController.tableView selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionNone]; 
    [firstTable.delegate tableView:firstTable didSelectRowAtIndexPath:indexPath]; 
} 

ecco il mio progetto, è lo stesso del collegamento precedente, aggiungendo solo viewDidAppear my not working project qualcuno può dirmi cosa c'è che non va? grazie

risposta

25

ho cercato di studiare il codice scaricato il problema è che project.The firstController.tableView è pari a zero.
Quindi risolvere il problema:

[firstTable selectRowAtIndexPath:indexPath 
         animated:NO 
        scrollPosition:UITableViewScrollPositionNone]; 

O assegnare firstController.tableView alla visualizzazione della tabella.

22
- (void)viewDidLoad { 
    [self.tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] animated:NO scrollPosition:UITableViewScrollPositionNone]; 
} 

Se si desidera che la richiamata dal delegato:

if ([self.tableView.delegate respondsToSelector:@selector(tableView:didSelectRowAtIndexPath:)]) { 
    [self.tableView.delegate tableView:self.tableView didSelectRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]]; 
} 
Problemi correlati