8

Pracuję nad aplikacją na iOS, która głównie korzysta z UITableView. Umożliwia pobieranie stron artykułów z serwera. Mamy> 25000 artykułów; więc zaimplementowałem przewijanie do odświeżenia i nieskończone przewijanie, aby podróżować po kolekcji tytułów. Pobrane są nadal przy użyciu danych podstawowych; NSFetchedResultsController służy do automatycznej aktualizacji UITableView.UITableView utrzymuj zwój w poprawnej pozycji podczas aktualizacji NSFetchedResultsController

Jednak zaimplementowałem nieskończone przewijanie, aby być w obu kierunkach; w górę i w dół. Ponieważ użytkownik będzie mógł przewijać tytuły artykułów 25000, muszę usunąć ten, który użytkownik już przewinął. Jeśli użytkownik przewinie się w górę, muszę ponownie wstawić tytuł powyżej bieżącego. Robiąc to, mam ruchome okno wewnątrz kolekcji artykułów.

Wyświetlam moje artykuły według grupy dat za pomocą sekcji i nagłówka.

Problem polega na tym, że ponieważ nieskończone przewijanie odbywa się w obu kierunkach, często usuwam lub dodawam artykuł na wyższej pozycji w tabeli. W rzeczywistości, aby to osiągnąć, muszę zmienić predykat powiązany z NSFetchedResultsController.

Ten wynik przewinięcia jest pomieszany. Wróciłem do miejsca, gdzie powinno być ish. To nie jest miłe, ponieważ jest to skok (animacja: NIE), jeśli ustawię animację na ON, to porusza się w kółko, zanim wróci do właściwej pozycji. A pozycja nie jest dokładnie taka, jaką powinna być.

Nie jestem pewien, czy dobrze wyjaśniłem mój problem. Myślę, że problem może tkwić w sposobie, w jaki korzystam z UITableView, ale nie jestem pewien, w jaki sposób powinienem go użyć, aby było lepiej.

Cheers

+0

Próbuję to rozgryźć, nic obiecującego do tej pory. – jessecurry

+0

brzmi dla mnie, że tak naprawdę nie potrzebujesz nieskończonego przewijania (widok tabeli obsługuje wiele wierszy), chyba że faktycznie potrzebujesz danych do obliczenia wysokości wiersza. –

+0

Jak obliczyć nowe przesunięcie w porównaniu do starego? Brzmi dla mnie, to jedyny problem –

Odpowiedz

1

Jeśli przechowywać tylko tytuły artykułów w danych Core, myślę, że może obsługiwać 25.000 tytułów.

Jednak myślę, że problem masz jest z paginacji z widocznymi elementami tabeli

Oto link że kiedyś coś poradzić, że żądany. Będziesz musiał nieco zmodyfikować, aby używać Core Data i zdalnego źródła.

Proszę napisać kod, jeśli możesz, abyśmy mogli rzucić okiem.

Powiązane problemy