2016-11-02 2 views
1

DescriptionImageSliderCollectionViewCell 만로드합니다. 나는 여기에서 무슨 일이 일어나고 있는지 확실히 알았지 만 둘 다로드하고 싶지만 그렇게하는 법을 모른다.하나의 CollectionView에 여러 nib 파일을로드하려면 어떻게해야합니까?

override func viewDidLoad() { 
    super.viewDidLoad() 

    let nibFile : UINib = UINib(nibName: "DescriptionNearCollectionViewCell", bundle: nil) 

    descriptionCollectionView.register(nibFile, forCellWithReuseIdentifier: "descriptionCell") 

    let nibFile2 : UINib = UINib(nibName: "DescriptionImageSliderCollectionViewCell", bundle: nil) 

    descriptionCollectionView.register(nibFile2, forCellWithReuseIdentifier: "descriptionCell") 
    // Do any additional setup after loading the view. 
} 

큐에서 다시 사용할 수있는 전지 :

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { 

    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "descriptionCell", for: indexPath) 
    return cell 
} 
+3

동일한 reuseIdentifier를 사용하여 CollectionView에 둘 이상의 펜촉을 등록 할 수 없습니다. – brandonscript

+0

@brandonscript 내가 그것을 tableview 할 수 있습니까? –

+1

동일하지 않은 reuseIdentifier를 사용하지 마십시오 – brandonscript

답변

1

같은 reuseIdentifier와 CollectionView에서 하나 이상의 펜촉를 등록 할 수 없습니다

내 코드 콜렉션 뷰 셀을 등록합니다. 각각에 대해 고유 한 것을 사용하십시오.

override func viewDidLoad() { 
    super.viewDidLoad() 

    let nibFile : UINib = UINib(nibName: "DescriptionNearCollectionViewCell", bundle: nil) 

    descriptionCollectionView.register(nibFile, forCellWithReuseIdentifier: "descriptionCell") 

    let nibFile2 : UINib = UINib(nibName: "DescriptionImageSliderCollectionViewCell", bundle: nil) 

    descriptionCollectionView.register(nibFile2, forCellWithReuseIdentifier: "descriptionCell2") 
    // This >>                    ^
} 

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { 

    if (youWantCellOne) { 
     return collectionView.dequeueReusableCell(withReuseIdentifier: "descriptionCell", for: indexPath) 
    } else { 
     return collectionView.dequeueReusableCell(withReuseIdentifier: "descriptionCell2", for: indexPath) 
    } 
} 
+0

에 "descriptionCell2"또는 "DescriptionCell2"라는 올바른 명명 규칙이 무엇입니까? 네가 나에게 기뻐할 것이라고 말하면. 감사합니다 –

+0

올바른 명명 규칙이 없습니다; 너는 너의 것을 만들 수 있고 그것에 붙일 수있다. – brandonscript