Los problemas de iOS 11 con la barra de navigation prefieren los grandes títulos.

Xcode 9 beta 6 iOS 11

Tengo un storyboard para un viewController , el background ImageView , tableView y la vista searchFooter son las subViews de la vista. La estructura es la siguiente:

introduzca la descripción de la imagen aquí

En la class AppDelegate , establezco
UINavigationBar.appearance().prefersLargeTitles = true

y

 UINavigationBar.appearance().setBackgroundImage(UIImage(),for: .default) UINavigationBar.appearance().shadowImage = UIImage() 

En la class viewController , configuré navigationItem.searchController = searchController y navigationItem.hidesSearchBarWhenScrolling = true

Cuando ejecuto la aplicación, descubrí que todavía existía la shadowImage de la shadowImage de navigationBar . La barra de navigation no se normalizaría (no el modo preferente de Gran Títulos) automáticamente (el gif izquierdo) cuando desplegué la tablaView. Espero que la barra de navigation funcione como la aplicación del sistema (el gif derecho).

mi aplicación aplicación del sistema

Un comportamiento extraño: cuando imageView el background imageView , puede funcionar tan bien como la aplicación del sistema en el simulador.

No sé por qué sucedió, me pregunto cómo resolverlo. Gracias.

La count ha sido eliminada por el equipo de Stack overflow . Entonces utilizo mi otra identificación para comentar aquí. Informé el problema a Apple, me pidieron que proporcione un proyecto y lo hice, pero no más comentarios de Apple.

Debería agregar la siguiente línea en viewDidLoad ()

 self.navigationController?.navigationBar.prefersLargeTitles = true navigationItem.hidesSearchBarWhenScrolling = false 

O PUEDES implementar el método UITableViewDataSource de UITableViewDataSource

 func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { let search = UISearchController(searchResultsController: nil) search.searchResultsUpdater = self return search.searchBar } 

Enlace para ver la captura de pantalla 1 Enlace para ver la captura de pantalla 2