Заголовок не отображается в UICollectionView, даже уже зарегистрированном программно в UICollectionViewFlowLayout

Мой заголовок, похоже, не отображается, даже я уже зарегистрирован программно в UICollectionViewFlowLayout. Просто пусто.

Мой код

override func viewDidLoad() { super.viewDidLoad() UICollectionReusableViewlet layout: UICollectionViewFlowLayout = UICollectionViewFlowLayout() layout.sectionInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0) layout.itemSize = CGSize(width: 117, height: 117) layout.minimumLineSpacing = 1 collectionView = UICollectionView(frame: self.view.frame, collectionViewLayout: layout) collectionView!.dataSource = self collectionView!.delegate = self collectionView!.registerClass(EventHeaderView.self, forSupplementaryViewOfKind:UICollectionElementKindSectionHeader, withReuseIdentifier: "MyHeaderView"); collectionView!.registerClass(EventDetailCollectionViewCell.self, forCellWithReuseIdentifier:"MyCollectionViewCell") collectionView!.backgroundColor = UIColor.blackColor() self.view.addSubview(collectionView!) } func collectionView(collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, atIndexPath indexPath: NSIndexPath) -> UICollectionReusableView { switch kind { //2 case UICollectionElementKindSectionHeader: //3 let headerView = collectionView.dequeueReusableSupplementaryViewOfKind(kind, withReuseIdentifier: "HeaderView", forIndexPath: indexPath) as! EventHeaderView headerView.lblName.text = "Anniversary" headerView.lblDescription.text = "Venue" return headerView default: //4 assert(false, "Unexpected element kind") } } 

Пожалуйста посоветуй. Спасибо.

Копаем глубже от ответа Райана Ли:

 public func collectionView(_:UICollectionView, layout: UICollectionViewLayout, referenceSizeForHeaderInSection: Int) -> CGSize { if referenceSizeForHeaderInSection > 0 { return CGSize.zero } return CGSize(width:0, height:50) } 

если у вас есть заголовки только для некоторых разделов, но не все из них

  1. Назначьте источник данных, делегат от UICollectionView до UIViewController.
  2. Добавьте пользовательский класс UICollectionView и назначьте его в UICollectionViewCell в раскадровке. Также назначьте идентификатор.
  3. Задать заголовок секции в инспекторе. (Образ)
  4. Ячейка заголовка будет сгенерирована в виде коллекции. Добавьте еще один класс UICollectionViewCell и назначьте этот класс этой ячейке. Также установите идентификатор.

func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {

  return 9 } func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell { let cell = collectionView.dequeueReusableCellWithReuseIdentifier("customCell", forIndexPath: indexPath) as! CustomCollectionViewCell cell.counterLabel.text = "\(indexPath.item)" return cell } func collectionView(collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, atIndexPath indexPath: NSIndexPath) -> UICollectionReusableView { switch kind { case UICollectionElementKindSectionHeader: let headerView = collectionView.dequeueReusableSupplementaryViewOfKind(kind,withReuseIdentifier: "headerCell", forIndexPath: indexPath) as! HeaderCollectionViewCell return headerView default: assert(false, "Unexpected element kind") } } 

введите описание изображения здесь

Вот ссылка на проект github.

Убедитесь, что вы добавили эту строку в макет:

 layout.headerReferenceSize = CGSize(width:0, height:50) 
  • Сделать все кнопки округлыми
  • ObjC для Swift преобразования NSDictionary в NSObject: AnyObject
  • Метод Obj-C Instance, возвращающий экземпляр instanceType, вызываемый из Swift - Function, создает ожидаемый тип «UIImage!» ошибка
  • Как сделать каждую ячейку таблицы разных размеров?
  • Назначить одно перечисление Тип другому перечислению Тип
  • UIActivityViewController в iOS 10
  • Как правильно обработать context.rollback () с помощью NSFetchResultsController
  • Повторить изображение горизонтально и вертикально
  • Код ошибки 2500 Facebook для входа в Swift 3.0
  • Вызовите и вызовите номер телефона в WKWebView
  • Кнопка навигации iOS
  • Interesting Posts

    Swift 2 Невозможно вызвать «FSEventStreamCreate» с помощью списка аргументов типа

    Самый быстрый способ итерации через NSArray с объектами и ключами

    Объявления Admob не поступают в приложение ios после публикации

    UIApplication не удалит окно из окон сразу

    ReactiveCocoa: как предотвратить параллельное выполнение RACSignal параллельно?

    программно нажмите кнопку (Trigger) html в xcode?

    Исключение NullReferenceException при использовании API Office 365 в Xamarin.IOS

    Ошибка в iOS 8 «Сетевое соединение было потеряно».

    Неверный регистр запросов

    Сделать фонотеку через приложение

    Удаленный репозиторий Git недоступен в XCode 5

    Производительность системы и использование батареи при использовании акселерометра и гироскопа

    получить все треки из плейлиста Spotify

    Создать регулярное выражение для указанной строки в объекте c

    iOS: как определить, насколько прямоугольная область вообще закрыта, например, клавиатурой?

    Давайте будем гением компьютера.