когда я возвращаю 1 в numberOfItemsInSection cellForItemAt не вызывается в быстром - PullRequest
0 голосов
/ 28 мая 2020

Я новичок в Swift, и у меня возникла проблема с представлением коллекции. Когда я перенастраиваю 1 в numberOfItemsInSection cellForItemAt, не вызываю, но когда я возвращаю 2, он получает вызов. Я не могу понять проблему. Делегат и протокол также верны.
Мой код такой

func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
        return arrSelectedSchoolIds.count
    }

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

        let cell = CollectionViewFilter.dequeueReusableCell(withReuseIdentifier: "SchoolLogo", for: indexPath as IndexPath) as! SchoolLogo
           cell.imgSchoolLogo.image = getSchoolLogo(schoolID: arrSelectedSchoolIds[indexPath.row])
           return cell
        }


func getSchoolLogo(schoolID:String?) -> UIImage
{
    switch schoolID
    {
    case "1":
        return UIImage(named: "image1")!
    case "2":
        return UIImage(named: "image2")!
    case "3":
        return UIImage(named: "image3")!
    case "4":
        return UIImage(named: "image4")!
    case "5":
        return UIImage(named: "image5")!
    case "6":
        return UIImage(named: "image6")!
    default:
        return UIImage(named: "defaultimage")!
    }
}

Изображения добавляются в файл Assest

Кто-нибудь сталкивался с такой же проблемой. Пожалуйста, помогите!

1 Ответ

0 голосов
/ 28 мая 2020

cellForItemAtIndexPath не будет вызываться, если вы не предоставите информацию о размере содержимого в представление коллекции. Если вы используете макет Flow, вам необходимо правильно установить размеры элементов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...