UICollectionView添加UICollectionCell

当我尝试把UICollectionCell UICollectionView Interface Builder中的UICollectionView中时,我不能把它放在原因不明的地方。 单元格将不添加到UICollectionView工具栏

我在用:

  • iOS SDK 6.0
  • XCode 4.5.1
  • 我不使用Storyboard

只有StoryBoard里面的UICollectionView里面有UICollectionViewCell。 如果使用XIB,使用CellName.xib创build一个新的XIB,将CollectionViewCell添加到它,指定UICollectionView自定义类的名称。 之后使用registerNib。

示例代码: https : //github.com/lequysang/TestCollectionViewWithXIB

如果使用UiCollectionView文件,则不能将UICollectionViewCell直接放入UiCollectionView 。 它可能只在故事板。 将UICollectionViewCell添加到单独的UICollectionViewCell文件中。 给你的class级名称。 然后在收集视图出现之前注册class或xib

  [self.collectionView registerClass:[CollectionViewCell class] forCellWithReuseIdentifier:CELL_ID]; 

通常这是在viewDidLoad完成的。

这是使用UICollectionViewCell的自定义UICollectionViewCell的实现

  @implementation CollectionViewCell @synthesize imageView = _imageView; - (id)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { self.backgroundColor = [UIColor whiteColor]; self.layer.shadowColor = [UIColor blackColor].CGColor; self.layer.shadowRadius = 5.0f; self.layer.shadowOffset = CGSizeMake(2.0f, 2.0f); self.layer.shadowOpacity = 0.5f; // Selected background view UIView *backgroundView = [[UIView alloc]initWithFrame:self.bounds]; backgroundView.layer.borderColor = [[UIColor colorWithRed:0.529 green:0.808 blue:0.922 alpha:1]CGColor]; backgroundView.layer.borderWidth = 10.0f; self.selectedBackgroundView = backgroundView; // set content view CGRect frame = CGRectMake(self.bounds.origin.x+5, self.bounds.origin.y+5, self.bounds.size.width-10, self.bounds.size.height-10); UIImageView *imageView = [[UIImageView alloc] initWithFrame:frame]; self.imageView = imageView; [imageView release]; self.imageView.contentMode = UIViewContentModeScaleAspectFill ; self.imageView.clipsToBounds = YES; [self.contentView addSubview:self.imageView]; } return self; } 

好的。 实际上有一个解决方法,如果你真的想要在界面生成器的xib文件中的collectionView中的单元格:

  1. 创build一个故事板。
  2. 从界面构build器创buildUICollectionView和UICollectionViewCell。
  3. 调整用户界面的约束等,使其看起来正是你想要的。
  4. 创build一个新的xib文件。
  5. 将故事板中的所有内容复制到新的xib文件中。

它会完美的工作。

  • 有一件事要记住,步骤#3是非常重要的,因为在#5之后,你不应该拖动和移动UICollectionView,如果你这样做,单元格会神奇地消失! 除此之外,它会完美的工作。