2012-12-30 4 views
15

Ho una vista a scorrimento all'interno di Vista. Voglio usare la funzione scrollViewDidScroll per controllare e aggiornare le frecce (sinistra destra).scrollViewDidScroll mai chiamato

- (void)scrollViewDidScroll:(UIScrollView *)scrollView { 

    NSLog(@"Did scroll"); 
    [self updateButtons]; 
} 

Sembra scrollViewDidScroll non verrà chiamato quando si scorre a sinistra oa destra. Ho cercato tutto ma non ho trovato una soluzione.

Spero che qualcuno abbia una soluzione.

+10

'scrollView.delegate = self;', millesima volta ... –

+4

@ H2CO3 Se hai fatto una risposta, prevedo che c'è una probabilità dell'85% che venga accettata. Altrimenti qualcun altro semplicemente copypasta il tuo commento come risposta e ottiene il rappresentante. – Metabble

+0

@Metabble Se non fosse il mio 1 qui, direi "Nevermind, sono stato comunque ripcordato", ma dato che è già l'1AM, il rip cap è finito, quindi sto davvero facendo una risposta. : P –

risposta

44

L'errore tipico è che "non si imposta semplicemente il delegato di una vista". Quello che probabilmente hai dimenticato è

theScrollView.delegate = self; 
19

Ho avuto anche questo "sintomo" e ho perso circa 2 ore della mia vita. Ho chiaramente impostato correttamente il delegato ... ma NON ero a conoscenza dell'impostazione della proprietà contentSize nella visualizzazione di scorrimento. -.-

Se non si imposta tale proprietà, la vista di scorrimento non ritiene che vi sia nulla da scorrere e pertanto NON attiverà i metodi di visualizzazione a scorrimento previsti.

+2

Wow, questo è medio. Era esattamente il mio problema. Grazie. – Denis

+0

Grazie amico. Bella presa :) – saintjab