2012-06-13 13 views

Antwort

19

diese beiden Delegatmethoden implementieren ..

- (void)scrollViewDidScroll:(UIScrollView *)sender{ 
    //executes when you scroll the scrollView 
} 

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView { 
// execute when you drag the scrollView 
} 
+1

für neue Leute isTracking (me) müssen möglicherweise erklären Scroll-View-Delegate, um den obigen Code zur Arbeit zu bringen -> '@interface ViewController: UIViewController ' // (danke Shorhashi) – tmr

+1

"ausgeführt, wenn Sie die ScrollView scrollen" - ist nicht ganz richtig, wenn der Benutzer "Sie" ist. Programmgesteuertes Verschieben der Bildlaufansicht ruft 'scrollViewDidScroll:' ebenfalls auf. – Jonny

7

Alternative zu @ Shorhashi Lösung:

- (void)scrollViewDidScroll:(UIScrollView *)sender{ 
    if(sender.isDragging) { 
     //is dragging 
    } 
    else { 
     //is just scrolling 
    } 
} 
+0

Dies ist nicht die Antwort. Wenn Ihr Finger vom Bildschirm abhebt, ist das Ziehen immer noch JA, dies ist möglicherweise nicht das, was Sie erwarten. – ideawu

4

Bessere Nutzung

func scrollViewDidScroll(_ scrollView: UIScrollView) { 

    if scrollView.isTracking == true { 
    // ... 
    } 
} 
Verwandte Themen