我已经向UIViewController添加了一个UICollectionView,但它没有显示出来,为什么?我只能看到黑色背景。标签textcolor是白色的。
我必须实现以下UICollectionViewDataSource方法。 UICollectionView无法通过静态单元格(如UITableView)仅通过动态原型设计的课程。
func collectionView(collectionView: UICollectionView!,
numberOfItemsInSection section: Int) -> Int
{
return 5
}
func collectionView(collectionView: UICollectionView!,
cellForItemAtIndexPath indexPath: NSIndexPath!) -> UICollectionViewCell!
{
let cell = collectionView.dequeueReusableCellWithReuseIdentifier("cell", forIndexPath: indexPath)
return cell as UICollectionViewCell
}
答案 0 :(得分:1)
看起来你没有实现CollectionView委托方法。 我想建议,你必须实现UICollectionView委托方法。
那些是 -
#pragma mark - UICollectionViewDataSource
-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
return "number of items";
}
// This method return the object of collectionViewCell.Your collectionviewcell has label object.
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"cell" forIndexPath:indexPath];
return cell;
}
// Perform operation on selection of cell
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
}
- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView {
return 1; // returns number of section
}
#pragma mark - UICollectionViewFlowDelegate
// Returns size of Cell
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
return CGSizeMake(80, 60);
}
// Space between cells
- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section {
return UIEdgeInsetsMake(2, 5, 2, 5);
}
不要忘记将委托链接到xib文件。 实现这些方法后,您可以在设备或模拟器上看到这些Cell。