我正在從我自定義我的TableViewCells在tableView:cellForRow:atIndexPath:
到使用自定義UITableViewCell
子類遷移。以下是我的做法:registerNib:forReuseidentifier與自定義UTTableViewCell和故事板
首先,創建空的XIB,將UITableViewCell
拖到那裏,並將UILabel
放在頂部。創建一個類(UITableViewCell
的子類),並在Interface Builder的屬性編輯器中將該類設置爲MyCell
。 然後,在我的TableViewController,把下面的:
- (void)viewDidLoad
{
[super viewDidLoad];
// load custom cell
UINib *cellNIB = [UINib nibWithNibName:@"MyCell" bundle:nil];
if (cellNIB)
{
[self.tableView registerNib:cellNIB forCellReuseIdentifier:@"MyCell"];
} else NSLog(@"failed to load nib");
}
之後,我從tableView:cellForRow:atIndexPath:
消滅了所有的自定義代碼只留下默認行:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"MyCell";
MyCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
return cell;
}
當我跑了這一點,我希望在每個單元格中看到一堆帶有單個標籤的單元格(創建XIB時在中間放置的標籤)。但是相反,我看到的只是普通的白色空單元格,添加/刪除組件對XIB佈局沒有幫助。
我花了一天嘗試不同的選項,例如在界面生成器中爲自定義單元格XIB設置reuseIdentifier並加載視圖tableView:cellForRow:atIndexPath:
,但沒有任何幫助。