UICollectionView adding UICollectionCell

后端 未结 3 1382
野性不改
野性不改 2020-11-30 22:03

When I try to put UICollectionCell to UICollectionView in Interface Builder I can\'t put it with unknown reasons. The cell is going to the tools ba

3条回答
  •  广开言路
    2020-11-30 22:10

    You cannot put UICollectionViewCell directly into the UiCollectionView if you are using Xib file. Its possible only in storyboard. Add a UICollectionViewCell into a separate Xib file. Give your class name. Then register either class or xib before the collection view appears

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

    Typically this is done in viewDidLoad.

    This is the implementation of a custom UICollectionViewCell with out using Xib

     @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;
     }
    

提交回复
热议问题