Невозможно установить проблему не видя ваш код, но могу предположить, с чем может быть проблема.
Возможно, вы настроили ячейки в сториборде, но при этом, необходимо указать коллекции, какие ячейки ей подгружать.
То есть Вы в сториборде располагаете элементы так, как вам нужно, и обязательно присваиваете ячейке идентификатор, например "item", и, желательно, указываете кастомный класс.
После этого, у вас в вашем CollectionViewController есть метод
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell
Этот метод будет конфигурировать ячейки, как мы видим из метода, он должен вернуть объект "UICollectionViewCell"
В нем нам необходимо создать ячейку с указанным в сториборде идентификатором, и прокастить до нужного класса, если мы его создавали.
К примеру мы поставили идентификатор "item" и класс "CustomCell"
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier "item", for: IndexPath) as! CustomCell
// теперь cell у нас нужная нам ячейка, настройки IBOutlets и IBActions у нас в ее кастомном классе, если
необходимо можем тут настроить какую нибудь логику. После настройки логики, нам нужно вернуть из
метода эту ячейку
return cell
}
Теперь коллекция при запуске будет конфигурировать наши ячейки по указанному идентификатору, с указанным классом. Если вы все настроили правильно, то у вас должны отобразиться необходимые ячейки.