UITableViewのカスタムCellでUITableVIewとカスタムCellを使う

UITableViewで使用するCellをカスタムCellとして作成して、その中でさらにUITableView(こちらも別のカスタムCellを作成)を使用する、要はUITableView-UITableViewCell(を継承したクラス)の入れ子状態にする必要に迫られ、試した際のメモです。

通常、カスタムCellを使用する場合、UITableViewControllerを継承したクラスの”viewDidLoad”などで、以下のようなコードを実行するかと思います。

  UINib *nib = [UINib nibWithNibName:@"TableViewCell" bundle:nil];
 [self.tableView registerNib:nib forCellReuseIdentifier:@"Cell"];

そして、”cellForRowAtIndexPath”でカスタムCell生成時に以下のように使用します。

  static NSString *CellIdentifier = @"Cell";

  CSCBCTopTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

これを入れ子となるUITableView-UItableVIewCellで呼ぶ際、どのタイミングで”forCellReuseIdentifier”を呼ぶかというのが今回のポイントです。

結果的には、入れ子元の”cellForRowAtIndexPath”で呼び出す事でうまくいきました。

参考

tableViewの中にtableViewを入れ子にする方法

タイトルとURLをコピーしました