2017-05-06 12 views
15

To pytanie odnosi się bezpośrednio przed widokiem tabeli pobiera swoje dane i wyświetla ich komórki.Jak wyświetlić element zastępczy przed wyświetleniem komórek widoku tabeli?

Ostatnio widziałem kilka aplikacji wyświetlających obraz typu "widok z góry" komórek widoku tabeli na krótkie chwile przed wyświetleniem wyświetlanych komórek.

Jak to zrobić?

Czy obraz zastępczy jest używany dla całego widoku tabeli lub czy obrazy zastępcze są renderowane dla każdej komórki, dopóki komórka nie zostanie usunięta?

Oto przykłady z Facebook i fiverr aplikacja fiverr Facebook

+0

Może być każda komórka ma widok miejsca właściciela wygląda jak linie i ukryte, gdy rzeczywiste dane przychodzą .... –

+1

sprawdź to https://github.com/samhann/Loader.swift/tree/master/Example/FBAnimatedView @ grabury –

+1

https://github.com/gonzalonunez/Skeleton –

Odpowiedz

5

Utwórz osobny UITableViewCell klasę gdzie zawartość komórki jest UIImageView że ma jakiś zastępczy obrazu, co się komórki będą wyglądać. Wypełnij komórki UITableView tymi komórkami, gdy wykonywane jest zapytanie w tle. Po zakończeniu żądania uruchom aktualizację tabeli, w której usuwasz wszystkie komórki zastępcze, a następnie wstaw wszystkie "rzeczywiste" komórki.

+0

Hej Scott. W jaki sposób mogę odróżnić te dwa od źródła danych? –

+1

Jeśli są to oddzielne klasy, możesz sprawdzić klasę, aby się dowiedzieć ... lub dwie klasy implementują protokół zawierający metodę, która reaguje inaczej i pozwala je rozróżnić. Tak naprawdę, Twoje źródło danych powinno wiedzieć, które dane zostały załadowane, a które nie i mogą po prostu podać odpowiednią klasę komórek w zależności od tego, czy wiersz został załadowany czy nie. –

2

Według mnie byłoby lepiej dodać backgroundView do tableView.

zapisu:

podczas przeszukiwania/pobierania danych:

if results.count == 0{ 
    tableview.backroundView = emptyBlurView 
    } 

po otrzymaniu danych, więc przed reload:

tableview.backroundView = nil 
4

podczas startu żądania na serwerze pokazać komórkę posiadacza miejsce i sieci odpowiedź jest odbierana, pokazuje komórkę kontenera danych. przy użyciu komórki zastępczej takiej samej jak wskaźnik aktywności.

FaceBook używa efektu simmer dla swojej komórki zastępczej.