2012-12-30 17 views
15

Ich habe eine Scrollview innerhalb der Ansicht. Ich möchte die Funktion scrollViewDidScroll verwenden, um die Pfeile zu prüfen und zu aktualisieren (links rechts).scrollViewDidScroll nie

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

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

Es scheint scrollViewDidScroll wird nicht aufgerufen, wenn ich nach links oder rechts blättern. Ich habe alles durchsucht, aber keine Lösung gefunden.

Hoffe jemand hat eine Lösung.

+10

'scrollView.delegate = selbst;', tausendstes Mal ... –

+4

@ H2CO3 Wenn Sie diese Antwort gemacht haben, sage ich voraus, es gibt eine 85% ige Chance, dass es akzeptiert wird. Sonst wird jemand anderes nur deinen Kommentar als Antwort kopieren und die Wiederholung bekommen. – Metabble

+0

@Metabble Wenn es nicht 1AM hier wäre, würde ich sagen: "Vergiss es, ich wurde sowieso repapped", aber da es schon 1 Uhr morgens ist, ist die Wiederholungskappe vorbei, also mache ich tatsächlich eine Antwort. : P –

Antwort

44

Der typische Fehler ist, dass "man nicht einfach den Delegaten einer Ansicht setzt". Was Sie wahrscheinlich vergessen haben, ist

theScrollView.delegate = self; 
19

Ich hatte dieses "Symptom" auch und verlor etwa 2 Stunden meines Lebens darauf. Ich hatte eindeutig die Delegierten richtig eingestellt ... aber ich wusste nicht über die Einstellung contentSize Eigenschaft in der Bildlaufansicht. -.-

Wenn Sie diese Eigenschaft nicht festlegen, wird von der Bildlaufansicht nicht erwartet, dass ein Bildlauf stattfindet, und daher werden die erwarteten Bildlaufmethoden NICHT ausgelöst.

+2

Wow, das ist gemein. War genau mein Problem. Danke. – Denis

+0

Danke Mann. Netter Fang :) – saintjab

Verwandte Themen