Mam dziwny problem z TableViewController. W dokumencie mówi, że tableViewController zajmuje się również metodą -flashScrollIndicators, gdy tabela jest "nadwymiarowa", respektuj widoczny obszar.TableViewController nie wyświetla wskaźników przewijania, nawet jeśli tabela jest większa niż widok
Moja aplikacja składa się z 3 kontrolerów nawigacyjnych wczytanych do kontrolera kart. Każdy kontroler nawigacyjny ma jako kontroler widoku root podklasę kontrolera widoku tabeli. Każdy "model" jest zapełniany z pliku plist, który ładuje jego zawartość do tablicy w widoku -viewDIdLoad, później wszystko jest przekazywane do tabeli. Wszystko jest załadowane programowo bez IB.
Dowiedziałem się w mojej aplikacji, że kiedy ładuje pierwszy widok (kontroler nawigacyjny z kontrolerem widoku tabeli jako root) pasek przewijania nie miga, nawet jeśli liczba komórek jest wystarczająco duża. Jeśli wybiorę inną kartę, która ładuje inny kontroler nawigacji (z t.v.c. jako root) pasek przewijania nie jest wyświetlany ponownie. Po naciśnięciu przycisku odpowiadającego pierwszemu kontrolerowi nawigacyjnemu pasek przewijania miga.
Więc starałem się zrobić to programowo migać ale nie ma mowy, kod wydaje się prosta:
[self.tableView flashScrollIndicators];
Próbowałem go umieścić niemal wszędzie. Najpierw w widoku -viewDidLoad (zgodnie z sugestią w dokumencie), następnie w viewDidAppear i in -viewWillAppear. Próbowano również użyć tej funkcji do odwzorowania kodu, aby rzutować widok pliku t.v.c. jako widok tabeli.
[((UITableView*)self.view) flashScrollIndicators];
.. bez wyniku.
Zacząłem patrzeć na próbkę Apple i odkryłem, że w niestandardowym widoku tabeli Apple (ten z innym czasem) pasek przewijania również nie miga. Testowany zarówno na karcie SIM, jak i na urządzeniu.
Czy to błąd ?, czy istnieje odpowiedni sposób, aby go wyświetlić programowo? Czy ktoś może mi pomóc? Pozdrawiam, Andrea
Należy po prostu pracować po wywołaniu 'flashScrollIndicators', ale mogę to potwierdzić może być bardzo frustrujące, aby wskazać najlepsze miejsce, aby umieścić takie rzeczy. Nie ma żadnych kar za dwukrotne wywoływanie tego, więc po prostu zaśmiecaj swój projekt tym telefonem ;-) – mvds
Niestety, niestety nie działa, nawet jeśli próbuję zadzwonić osobiście w -viewDidLoad, -viewWillAppear, -viewDidAppear. – Andrea
Czy sprawdziłeś, czy self.tableView nie jest zerowy? Czy najpierw wypróbowałeś -reloadData? –