2017-05-06 109 views
15

這個問題是在tableview獲取其數據並顯示其單元格之前引用的。如何在tableview單元格顯示之前顯示佔位符?

我已經看到了一些應用程序最近顯示的tableview細胞的粗線條式形象,爲短暫的時刻得到顯示填充細胞前。

這是如何完成的?

使用佔位符圖像爲整個的tableview或呈現針對每個小區佔位符類型圖像,直到電池被出列?

下面是從Facebook的例子和fiverr應用 fiverr Facebook

+0

可能是每個單元格的佔位符視圖看起來像線條,並且在實際數據出現時隱藏...... –

+1

檢查此https://github.com/samhann/Loader.swift/tree/master/Example/FBAnimatedView @ grabury –

+1

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

回答

5

創建一個單獨的UITableViewCell類,其中單元的內容是UIImageView有某種你的細胞看起來就像圖像佔位符的。當您的背景請求正在製作時,使用這些單元填充UITableView。請求完成後,啓動一個表格更新,在其中刪除所有佔位符單元格,然後插入所有「真實」單元格。

+0

嘿斯科特。我如何通過DataSource在兩者之間進行切分? –

+1

如果它們是單獨的類,則可以檢查該類以找出......或讓這兩個類實現一個協議,該協議包含響應方式不同的方法並允許您區分它們。實際上,您的數據源應該知道哪些數據已被加載,哪些沒有,並且可以簡單地提供適當的單元類,具體取決於該行是否已被加載。 –

2

根據我的意見,最好將backgroundView添加到tableView中。

寫:

,而搜索/讀取數據:

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

一旦接收到數據,以便重裝前:

tableview.backroundView = nil 
4

在啓動時請求在服務器上顯示的地方保持室和網絡收到的響應顯示數據容器單元。使用與活動指示符相同的佔位符單元格。

FaceBook上正在使用的佔位符細胞simmer效果。