0

そこで、tableviewcell 内に水平スクロール可能なコレクション ビューを表示しようとしています。私が使用しているコードは

(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = (UITableViewCell *) [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
UICollectionViewController *cv = [self.storyboard instantiateViewControllerWithIdentifier:@"collectionViewID"];
cv.view.frame = cell.contentView.bounds;
[self addChildViewController:cv];
[cell.contentView addSubview:cv.view];
[cv didMoveToParentViewController:self];  
return cell; 
}

エラーが発生しています: オブジェクトは nil にすることはできません。誰かがエラーを理解するのを手伝ってくれれば幸いです。

4

2 に答える 2

3

私は自分のアプリでこれを行いました。

UITableViewCell をサブクラス化する方がはるかに簡単であることがわかりました。すべての UICollectionView セットアップと UICollectionView データソースを配置し、セルのコード内にデリゲートすることができました。

次に、セルに渡す NSArray 型のパブリック プロパティを 1 つ指定しました。次に、セルはこの配列を、それ自体が所有する UICollectionView のデータソースとして使用します。

管理しやすくなりました。

于 2012-11-16T20:47:57.060 に答える
0

UICollectionViewControlle の属性インスペクターで識別子の値 {collectionViewID} を確認してください

編集 [自己 addChildViewController:cv]; --> セルに cv を追加したいのですね。

于 2012-11-16T20:45:06.087 に答える