0

私はプログラムでUICollectionViewを作成しています。免責事項としてUICollectionViewCellが表示されない

、私はこのチュートリアルに従っ:http://randexdev.com/2014/07/uicollectionview/

次のようにだから私のセットアップは次のとおりです。

私はViewControllerAによって制御されるUIScrollViewとストーリーボードを持っています。私は次のコードを持っている別のクラスCustomCollectionViewController

:私のViewControllerA

import Foundation 
import UIKit 

class CustomCollectionViewController : UICollectionViewController, UICollectionViewDelegateFlowLayout { 

    override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) { 

     let layout: UICollectionViewFlowLayout = UICollectionViewFlowLayout() 
     layout.sectionInset = UIEdgeInsets(top: 20, left: 10, bottom: 10, right: 10) 
     layout.itemSize = CGSize(width: 90, height: 120) 

     super.init(collectionViewLayout: layout) 

     collectionView = UICollectionView(frame: self.view.frame, collectionViewLayout: layout) 
     //collectionView = UICollectionView(frame: CGRectMake(0, 0, 500, 500), collectionViewLayout: layout) 
     collectionView!.dataSource = self 
     collectionView!.delegate = self 
     collectionView!.backgroundColor = UIColor.redColor() 
     collectionView!.registerClass(UICollectionViewCell.self, forCellWithReuseIdentifier: "Cell") 
     self.view.addSubview(collectionView!) 
    } 

    required init?(coder aDecoder: NSCoder) { 
     fatalError("init(coder:) has not been implemented") 
    } 

    override func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { 
     return 14 
    } 

    override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell { 
     let cell = collectionView.dequeueReusableCellWithReuseIdentifier("Cell", forIndexPath: indexPath) 
     cell.backgroundColor = UIColor.greenColor() 
     return cell 
    } 
} 

を私はこのコード

let collectionViewController: CustomCollectionViewController = CustomCollectionViewController(nibName: nil, bundle: nil) 
collectionViewController.view.frame.origin = CGPointMake(scrollViewWidth*3, 0) 

scrollView.addSubview(collectionViewController.view) 

シミュレータで実行した場合、私は赤の背景を見ることができますがありますUICollectionViewが、細胞は全くない。

私が間違っていることは何ですか?

+0

childViewControllerとしてViewControllerを設定しなかったということでしたか? – dirkgroten

+0

@dirkgroten私は既にしました。それは呼ばれている。 – Phytochrome

答えて

0

問題は、私はあなたがあなたのcollectionViewにブレークポイントを設定することができますviewControllerA

self.addChildViewController(collectionViewController) 
collectionViewController.didMoveToParentViewController(self) 
1

-(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPathが存在しない可能性があります。 cellForItemAtIndexPath:機能と、それが呼び出されるかどうかを確認

+0

私は 'func collectionView(collectionView:UICollectionView、layout collectionViewLayout:UICollectionViewLayout、sizeForItemAtIndexPath indexPath:NSIndexPath) - > CGSize {return CGSizeMake(90、120)}'を追加しようとしましたが、何も変更されませんでした。 – Phytochrome

+0

あなたのビューコントローラはUICollectionViewControllerのサブクラスですUIViewControllerに変更しようとするか試してみてくださいself.collectionView = yourCollectionView – iOS77

+0

いいえ。まったく変更はありません。 – Phytochrome