2010-12-10 33 views
0

我正在加載一個RSS提要到一個表視圖。我將加載10個條目,然後希望它在最後一個單元格或最後一個單元格下面的某處顯示「加載更多」,因此當用戶單擊加載更多時,RSS源的其餘部分將加載。由於RSS離開我的網站,我可以編程它來獲取服務器端的10個或全部條目(使用查詢字符串或其他)。「加載更多」在UITableView

問題是如何渲染一個表格,使得最後一個單元格有一個「加載更多」鏈接,該鏈接可以單擊以調用加載其他Feed的方法(然後當整個Feed加載時不再有「加載更多」鏈接)。

+0

我已經更新了我的答案與潛在的解決方案。希望這可以幫助。 :-) – 2010-12-10 15:33:58

+0

你能分享我這個解決方案的代碼我是新的iphone編程,我必須實現這個解決方案,我不完全理解由Hejazi給出的鏈接的解決方案... – user755278 2011-08-23 13:17:54

回答

0

由於UITableView的工作方式(即:他們根據需要請求單元格/單元格內容)「加載更多」鏈接中的值是什麼? (特別是因爲你大概需要加載完整的RSS提要。)

換句話說,不應該用戶的行爲滾動表視圖足夠?

這也是潛在從用戶界面的角度有點混淆 - 會在底部加載較舊的帖子或較新的帖子「加載更多」?這些帖子在哪裏出現?在視圖頂部還是底部? (我假定你在訂購「最近先」的順序細胞,這可能是有道理的,如果你消耗的飼料。)

更新

但是,如果你真的想要這樣做我建議最初讓你的數據源只告訴UITableView它有「n」+1個元素,+1是一個包含你的「加載更多」文本的單元格。 (您可以使用backgroundView方法等格式化單元格,以便在您提供的UITableViewCell上使用backgroundView方法等)。

當用戶選擇此最終單元格時,您需要按照慣例捕獲它,找出它是否假的「加載更多」單元格,如果是,告訴數據源它應該將所有內容都顯示給UITableView。然後,你可以簡單地獲得表視圖來重新加載自己(通過reloadData方法),一切都應該很好。

+0

The value in the加載更多的鏈接可能是一種方法的選擇器。我想按照MSNBC和其他許多應用程序的工作方式來做到這一點,即提供最新的文章,並讓用戶決定是否想要更深入......這是否有幫助?謝謝 – Allen 2010-12-10 15:26:26

+0

謝謝...這是一個有趣的方法(在服務器端進行)。不過,我認爲人們還有其他的方式。是的,負載更多是在底部,它加載較舊的帖子(再次,就像他們在許多其他應用程序上做的一樣)。 – Allen 2010-12-10 15:40:04

+0

@Allen - 「數據源」我的意思是你用來向UITableView提供數據的任何東西。即:我仍然從服務器中加載所有數據,但是我會讓您的內部數據存儲只在最初向UITableView顯示第一個「n」。 – 2010-12-10 15:45:28