0

Githubでの PSCollectionView の使用法に従いました。

これは私のコードです:

- (void)viewDidLoad
{
  self.collectionView = [[PSCollectionView alloc] init];
  self.collectionView.collectionViewDataSource = self;
  self.collectionView.collectionViewDelegate = self;
  self.collectionView.numColsPortrait = 2;

  [self.view addSubview:self.collectionView];
  [self.collectionView reloadData]; // If i don't call this my console will be empty.
}
- (NSInteger)numberOfRowsInCollectionView:(PSCollectionView *)collectionView 
{
  NSLog(@"num rows");
  return 2;
}
- (PSCollectionViewCell *)collectionView:(PSCollectionView *)collectionView cellForRowAtIndex:(NSInteger)index
{
  NSLog(@"cell for row");
  return nil;
}
- (CGFloat)collectionView:(PSCollectionView *)collectionView heightForRowAtIndex:(NSInteger)index
{
  NSLog(@"height for row");
  return 0.0;
}

私のコンソールは空でした。しかし、[collectionView reloadData] を呼び出したときの結果は次のとおりです。

num rows
height for row
height for row
num rows

「行のセル」が出力されない理由がわかりません。

ヒントや提案はありますか?ありがとうございました。

4

3 に答える 3

0

追加してみる

[self.collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"cell"];

あなたのviewDidLoadの最後に。

通常、使用するセル/ビューを collectionView に伝える必要があります。

于 2013-05-10T08:53:00.447 に答える
0

それはあなたがタイプミスをしているからです。そうではないViewDidLoad()のでviewDidLoad()ViewDidLoad()通常は決して呼び出されません。そのため、デリゲートとデータソースを適切に設定できません。

于 2013-05-10T07:54:02.087 に答える