36

Mam zmienną instancji UITableView. Chcę móc zarejestrować mój kontroler widoku, aby był UIScrollViewDelegate dla mojego UITableViewController. Próbowałem jużZostań UIScrollView Deleguj delegata dla UITableView

tableView.delegate = self; 

Ale podczas przewijania, moje metody

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView 
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView    
        willDecelerate:(BOOL)decelerate 

nie sprawdzony. Jakieś sugestie?

Odpowiedz

126

Teraz UITableViewDelegate jest zgodne z !

(piszę tę odpowiedź, ponieważ wiele osób będzie znaleźć tę stronę googling ..)

+0

Byłeś taki dobry! –

+0

Nie sądzę, że jest TERAZ, jest po prostu tym. – mskw

+0

To jest TERAZ może dlatego, że w 2009 UITableViewDelegate nie spełniał UIScrollViewDelegate;) – Francescu

5

To jest oficjalnie nieobsługiwane. UITableView i UIWebView nie ujawniaj ich wewnętrznych przewijanych widoków.

Możesz zejść do hierarchii wydzierżawienia i wykonywać nieudokumentowane połączenia, ale nie jest to zalecane, ponieważ jest oficjalnie zabronione i może zostać złamane w przyszłych wersjach systemu operacyjnego, jeśli zmienia się bazowy (nieudokumentowany) interfejs API.

+0

Obawiałem się, że tak było. Dzięki. – Brian

+3

Jak pokazuje odpowiedź santoni poniżej, 'UITableViewDelegate' jest zgodne z' UIScrollViewDelegate' (mogło to się zmienić w wydaniu SDK?), Co oznacza, że ​​wszystkie komunikaty 'UIScrollViewDelegate' zostaną przekazane do delegata' UITableView'. –

+0

a uitableview to uiscrollview – marchinram

7

UITableViewDelegate wdroży protokołu UIScrollViewDelegate również.

Powiązane problemy