UISearchBar subvista de UITableViewHeader?

Quiero agregar un UISearchBar a una UITableView que ya tiene una vista de encabezado. Cuando bash agregar la barra de búsqueda a la vista de encabezado existente, funciona hasta que presiono en ella, en ese momento obtengo The view hierarchy is not prepanetworking for the constraint , lo que parece ser porque la barra de búsqueda no es una subvista directa de la tabla de modo que cuando el UISearchController intenta actualizar las restricciones no puede.

La única forma de solucionar esto que encontré es hacer que el encabezado de la vista de tabla sea la barra de búsqueda, entonces todo funciona bien, pero, por supuesto, pierdo las otras vistas que ya estaban en la vista de encabezado.

Para evitar este comportamiento, puse mi barra de búsqueda en un contenedor UIView . Aplique las restricciones a esta vista de contenedor y use una máscara de autorrealización para la barra de búsqueda dentro del contenedor.

 // Configure header view UIView *headerView = ... ... // Create container view for search bar UIView *searchBarContainer = [UIView new]; searchBarContainer.translatesAutoresizingMaskIntoConstraints = NO; [searchBarContainer addSubview:self.searchBar]; [headerView addSubview:searchBarContainer]; self.searchBar.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; // Apply constraints involving searchBarContainer [headerView addConstraint: ...]; ... // Then add header to table view self.tableView.tableHeaderView = headerView;