viewforsupplementaryelementofkind section collection ios swift

section - ios collection view header



¿Cómo agrego un título de sección en UICollectionView? (3)

De la respuesta de @ david72

Necesitas realizar las siguientes cosas:

  1. Habilitar la vista de encabezado / pie de sección en el guión gráfico.
  2. Implementar collectionView:viewForSupplementaryElementOfKind método.

Para más detalles ver here

Necesito una etiqueta encima de cada sección en mi Vista de Colección. He intentado simplemente arrastrar una etiqueta a mi espacio de encabezado sobre mi celda prototipo, pero cada vez que ejecuto la aplicación, la etiqueta no es visible.

¿Alguna ayuda?


Para agregar la etiqueta personalizada arriba de cada sección en UICollectionView, siga los pasos a continuación

  1. Habilitar el encabezado de la sección en UICollectionViewCell

  1. Agregar un nuevo archivo de tipo UICollectionReusableView
  2. En el guión gráfico, cambie la clase de encabezado de sección en UICollectionViewCell al archivo recién agregado del tipo UICollectionReusableView.
  3. Agregar una etiqueta en el encabezado de sección de UICollectionViewCell en el guión gráfico
  4. Conecte la etiqueta en el encabezado de la sección al archivo UICollectionReusableView

    class SectionHeader: UICollectionReusableView { @IBOutlet weak var sectionHeaderlabel: UILabel! }

  5. En el ViewController agrega el siguiente código

    func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, at indexPath: IndexPath) -> UICollectionReusableView { if let sectionHeader = collectionView.dequeueReusableSupplementaryView(ofKind: kind, withReuseIdentifier: "SectionHeader", for: indexPath) as? SectionHeader{ sectionHeader.sectionHeaderlabel.text = "Section /(indexPath.section)" return sectionHeader } return UICollectionReusableView() }

Aquí "SectionHeader" es el nombre del archivo agregado al tipo UICollectionReusableView


Implemente collectionView:viewForSupplementaryElementOfKind:atIndexPath: y suministre un UICollectionElementKindSectionHeader que contenga su etiqueta. Si este es un diseño de flujo, asegúrese de establecer también headerReferenceSize o no verá nada.