Programing

UICollectionCell을 추가하는 UICollectionView

lottogame 2020. 10. 29. 07:45
반응형

UICollectionCell을 추가하는 UICollectionView


내가 넣어하려고 할 때 UICollectionCellUICollectionView인터페이스 빌더에서 나는 알 수없는 이유로 그것을 넣을 수 없습니다. 셀은 추가하지 않고 도구 모음으로 이동합니다.UICollectionView

나는 사용하고있다 :

  • iOS SDK 6.0
  • XCode 4.5.1
  • 스토리 보드를 사용하지 않습니다

StoryBoard 내의 UICollectionView에만 UICollectionViewCell이 있습니다. XIB를 사용하는 경우 CellName.xib로 새 XIB를 만들고 CollectionViewCell을 추가하고 UICollectionView 사용자 정의 클래스의 이름을 지정합니다. 그 후에 registerNib를 사용하십시오.

샘플 코드 : https://github.com/lequysang/TestCollectionViewWithXIB


파일을 사용 UICollectionViewCell하는 UiCollectionView경우 직접 넣을 수 없습니다 Xib. 스토리 보드에서만 가능합니다. UICollectionViewCell별도의 Xib 파일에를 추가 하십시오. 수업 이름을 알려주세요. 그런 다음 컬렉션보기가 나타나기 전에 클래스 또는 xib를 등록하십시오.

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

일반적으로이 작업은 viewDidLoad.

이것은 UICollectionViewCell사용하지 않고 사용자 정의 구현입니다.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;
 }

괜찮아. 실제로 인터페이스 빌더의 xib 파일 내에 collectionView에 셀을 갖고 싶다면 실제로 이에 대한 해결 방법이 있습니다.

  1. 스토리 보드를 만듭니다.
  2. 인터페이스 빌더에서 UICollectionView 및 UICollectionViewCell을 생성합니다.
  3. 제약 조건 등으로 UI를 조정하여 원하는대로 정확하게 보이도록합니다.
  4. 새 xib 파일을 만듭니다.
  5. 스토리 보드의 모든 내용을 새 xib 파일에 복사합니다.

완벽하게 작동합니다.

  • 한 가지 명심해야 할 것은 # 3 단계가 매우 중요합니다. # 5 이후에는 UICollectionView 주변을 드래그하여 이동하면 안되므로 셀이 마술처럼 사라질 것입니다! 그 외에는 완벽하게 작동합니다.

참고URL : https://stackoverflow.com/questions/15184968/uicollectionview-adding-uicollectioncell

반응형