長話短說細胞,我想創建一個XIB文件,其中包含:的UITableView及其在廈門國際銀行文件
的視圖。在這個視圖中,它有很多東西和一個tableView。 (連接的數據源,委託給文件的所有者)。該視圖是XIB文件的主要視圖。
自定義單元格(由於XIB不支持原型tableView,所以可以用作tableView的原型單元格)。
我怎麼能達到這兩個? 另外,我想知道同樣適用於UICollectionView。
我已經創建了這兩個,將它加載到主視圖(主視圖在主要故事板中)。但是tableView不按預期加載自定義單元格。該單元格只是空白,看起來不像它在筆尖中設計的那樣。
編輯1
這裏是我如何註冊在故事板筆尖的主要觀點:
- (UIView *)buildViewFromViewControllerClass:(Class)viewControllerClass
{
id viewController = [[viewControllerClass alloc] initWithNibName:NSStringFromClass(viewControllerClass) bundle:nil];
[viewController view].frame = self.containerView.bounds;
[self addChildViewController:viewController];
return [viewController view];
}
我有很多viewControllers,所以我弄清楚,這是添加VC的最好方式。
關於在上述說明中,筆尖,我只是用常規初始化:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
// init cell
CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:@"CustomCell"];
if (!cell) {
cell = [[PaymentCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"CustomCell"];
}
return cell;
}
如果在視圖中沒有負載的方法,我註冊筆尖到的tableView,它會在[tableView dequeueResuableCell...]
崩潰。註冊代碼:
- (void)viewDidLoad
{
[super viewDidLoad];
// [self.tableView registerNib:[UINib nibWithNibName:self.nibName bundle:nil]
// forCellReuseIdentifier:@"CustomCell"];
// I'm commenting it, because it caused crash.
}
崩潰的消息:
***終止應用程序由於未捕獲的異常 'NSUnknownKeyException',原因:「[ 的setValue:forUndefinedKey:]:此類不是關鍵值爲 編碼符合密鑰tableView'。
我在這裏做錯了什麼? 這是一張我如何設計筆尖:
正如你可以看到,文件的所有者的MAINVIEW連接到mainView
,它包含的tableView。 customCell只是一個自定義設計的單元,在相同的文件(.m文件)中定義。
你可以添加代碼,你如何添加單元格和註冊你的筆尖 –
這裏是一個例子如何註冊一個筆尖'[self.tableView registerNib:[UINib nibWithNibName:@「 MyCell「bundle:nil] forCellReuseIdentifier:@」MyCell「];' –
請看*編輯1 * – Eddie