UICollectionView reloadData renuncia al primer respondedor en el encabezado de la sección

tengo unUICollectionView que tienen cabecera de sección. En el encabezado de la sección tengo unUISearchBar. Quiero filtrar el contenido en mi vista de colección cuando escribo en la barra de búsqueda. Lo hago con el siguiente método:

// The method to change the predicate of the FRC
- (void)filterContentForSearchText:(NSString*)searchText
{
    NSString *query = searchText;
    if (query && query.length) {
        NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name contains[cd] %@ or createdAt contains[cd] %@ or noteText contains[cd] %@ or keywords contains[cd] %@", query, query, query, query];
        [self.fetchedResultsController.fetchRequest setPredicate:predicate];
    } else {
        [self.fetchedResultsController.fetchRequest setPredicate:nil];
    }
    NSError *error = nil;
    if (![[self fetchedResultsController] performFetch:&error]) {
        // Handle error
        NSLog(@"Error");
    }
    [self.collectionView reloadData];
}

Este método se llama cada vez que cambia el texto de la barra de búsqueda. La línea[self.collectionView reloadData] Ocultó el teclado para cada personaje. ¿Es posible volver a cargar solo los datos en una vista de colección de UIC y no volver a cargar las vistas complementarias como los encabezados de sección?

Los datos en mi collectionView provienen de un NSFetchResultController.

Estoy muy contento con cómo funciona mi interfaz de usuario, por lo que si hay una forma sencilla de NO recargar el encabezado de la sección, ¡eso sería genial!

Respuestas a la pregunta(2)

Su respuesta a la pregunta