2013-04-02 8 views
19

Próbowałem to:Powiedz jeśli UITableView jest przewijane do góry

- (void)scrollViewDidScrollToTop:(UIScrollView *)scrollView 

Ale to nie ogień, kiedy przewijane widoku tabeli do góry.

- (void)scrollViewDidScroll:(UIScrollView *)scrollView 

Czy ogień, więc delegata nie jest problem.

W viewDidLoad ja również ustawić [myTbl setDoesScrollToTop:YES];

+0

robi scrollViewDidScrollToTop ogień, po dotknięciu paska stanu? – Felix

Odpowiedz

48

The scrollViewDidScrollToTop: metoda pożarów, gdy użytkownik kliknie na pasku stanu, a właściwość scrollsToTop jest ustawiony na YES. Z dokumentacji:

Widok przewijania wysyła tę wiadomość, gdy kończy się przewijanie do początku zawartości. Może nazwać to natychmiast, jeśli górna część zawartości jest już wyświetlona. Aby gest przewijania do góry (dotknięcie paska stanu) było skuteczne, właściwość scrollsToTop dla UIScrollView musi być ustawiona na TAK.

Nie uruchamia się, jeśli użytkownik przewinie ręcznie do góry. Jeśli chcesz obsłużyć tę sprawę, musisz wdrożyć metodę scrollViewDidScroll: i sprawdzić, czy przewijanie znajduje się na samej górze.

Można to sprawdzić za pośrednictwem właściwości contentOffset np .:

if (scrollView.contentOffset.y == 0) { // TOP } 
+0

Ah. Mam cię. Dzięki. – JoshDG

+0

Fajnie, dużo tłumaczy. – RainCast

Powiązane problemy