2010-08-22 140 views
0

很長一段時間,我掙扎着一個有點愚蠢的問題。希望有人能幫我一把。UITableView正在重繪只有一些自定義單元格

正在實施UITableView。 UITableViewCell用.xib繪製並連接到textEditCell屬性。

主程序

有一個簡單的代碼:

- (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

return textEditCell; 

} 

然而,當圖繪,只有一些細胞(視圖啓動後 - 最後一個單元格)繪製。如果視圖被拖動到屏幕的頂端之外,頂部單元格被繪製,底部單元格已經消失;當拖到底部時,行爲是相反的。

給出示例in Apple cookbook?這是代碼清單5-7。我究竟做錯了什麼?

感謝您的幫助。

回答

0

基本上,您正在創建單元格的單個實例並嘗試將其分配給多行。在Apple Cookbook中,您擁有固定數量的自定義單元格,分別在構建器中稱爲cell0,cell1實例。

您需要創建另一個nib文件來創建單元格。還要記住重複使用單元格 - 否則你肯定會遇到內存問題。

+0

Estarriol,謝謝你的回答。創建另一個筆尖似乎是唯一的方法;儘管它似乎並不合乎邏輯 - 爲什麼我不能把它們都放在一個筆尖呢?我沒有提到每個單元都裝載了筆尖 - 這是一種冗餘操作,不是嗎? 另一個問題是:在哪裏創建了重用單元的新實例,例如http://stackoverflow.com/questions/202471/is-it-possible-to-design-nscell-subclasses-in-interface - 建設者? 或新重新加載的筆尖給出一個新的對象? – user962409 2010-08-29 08:16:49

1

中描述的內容清單5-7僅適用於您的表中只有一個這種類型的單元格。如果您需要同一個單元的許多副本,那麼您應該使用列表5-5中描述的技術。