2012-04-12 66 views
13

使用我設計的動態自定義單元原型,例如UITableViewController A(在Interface Builder/Storyboard中)非常適合將單元取出(通過其標識符, 塞拉),並在這樣的...... cellForRow我使用一個自定義類(子類的UITableViewCell,讓我們將其命名爲MyCustomCell)連接起來,標籤和圖像的拇指和它的工作原理都非常好,直截了當我的UITableViewController一個iOS5 Storyboard:在多個UITableViewControllers中重用自定義UITableViewCell

現在我創建一個UITableViewController B(在Storyboard中),它恰好與其自定義單元格(動態單元格)具有完全相同的設計/功能。因此,我將這些單元格的類別切換到MyCustomCell,併爲其指定一個新的標識符cellB

的UITableViewController乙,我出列在cellForRow小區...,並使用新的標識符cellB。注意:使用cellA這裏會導致崩潰,或多或少顯然。

但當表視圖顯示了,在運行應用程序時,的UITableViewController一個工作得很好,和幾乎相同的的UITableViewController乙不起作用(空單元格)。

在故事板,它看起來有點過了一點,因爲自定義單元格是的UITableViewController一個乙內,但在的UITableViewController可設計的,它只是一個簡單的,樸素的細胞。儘管該類與MyCustomCell相關聯。

如何避免複製&將這些單元粘貼到另一個控制器(因此在進行設計更改時會嚴重地在副本之間來回切換) - 而只是恰當地重新使用它?

+1

一個很好的問題,正是我一直想知道的。如果我添加一個新的UITableViewCell的子類,爲它創建一個XIB的選項是灰色的。 – theLastNightTrain 2012-04-17 13:20:52

+1

我認爲這是回答很好,在http://stackoverflow.com/questions/9245969/in-a-storyboard-how-to-make-a-custom-cell-for-use-with-multiple-controllers – wolak 2012-05-08 17:18:23

回答

2

你在做什麼是正確的。我不知道爲什麼它不工作,重新加載tableview可能會有一些問題;檢查你的數據源和數據源方法。

- (NSInteger) tableView:(UITableView *) tableView numberOfRowsInSection:(NSInteger) section 

,而你可以做的是:拖動

的viewController

然後拖動

的tableview

,讓它變得動態,並做你以前做的事;當我自己這樣做時,它對我來說工作得很好。

1

說出單元來自您的自定義類並不意味着它的「設計」相同。你真正想在這裏實現的(以及我在尋找的)是「Contained」Cell的一個王者,但是這隻能在iOS 6中用ContainerViewController來實現。另一種選擇是爲那個Cell使用一個XIB - 它應該同樣好,但是你失去了在Storyboard中進行概述的好處。

0

我有一個類似的問題,我創建了一個自定義單元格,裏面有一個uitextfield。它在第一個tableview中運行良好,但不在第二個。我發現textfield的委託沒有連接到自定義單元格。我通過將textfields委託出口連接回文本框來連接故事板。