Creo que el título es bastante auto explanitory. Tengo un formato tableview incrustado en un controlador de navegación y desea agregar una barra de búsqueda a la barra de navegación. Creo que algo ha cambiado en iOS 9 respecto a la barra de búsquedas controlador de cosas, así que ten en cuenta que esta tiene que ser para iOS 9. Esto es lo que tengo. No hay duda de que está mal.

 UISearchController *searchController = [[UISearchController alloc]init];
self.searchController.searchBar.barTintColor = [UIColor whiteColor];
[self.navigationController addChildViewController:searchController];

OriginalEl autor Mark Bourke | 2015-10-17

3 Comentarios

  1. 24

    Agregarlo a través de guión gráfico. Agregar la barra de búsqueda en el controlador de vista de escena como la salida y la primera respuesta se agregan y después de que acaba de dar el titleView de elementos de navegación la barra de búsqueda.

    Añadir barra de búsquedas para NavigationBar Objective-C, iOS 9

    Gracias! han estado buscando esta solución por un tiempo ahora.
    exactamente la respuesta correcta tio!
    U es un salvador bro 🙂

    OriginalEl autor Bhavuk Jain

  2. 6
    //This method has deprecated in ios 8. So, before ios 8 you can use this.
    
    UISearchBar *searchBar = [[UISearchBar alloc] initWithFrame:CGRectZero];
    [searchBar sizeToFit];
    
    UISearchDisplayController *searchDisplayController= [[UISearchDisplayController alloc] initWithSearchBar:searchBar
                                        contentsController:self];
    self.searchDisplayController.searchResultsDelegate = self;
    self.searchDisplayController.searchResultsDataSource = self;
    self.searchDisplayController.delegate = self;
    self.navigationItem.titleView = searchDisplayController.searchBar;

    //Para ios8/ios9 utilice el siguiente código

    UISearchController *searchController = [[UISearchController alloc] initWithSearchResultsController:self];
    //Use the current view controller to update the search results.
    searchController.searchResultsUpdater = self;
    //Install the search bar as the table header.
    self.navigationItem.titleView = searchController.searchBar;
    //It is usually good to set the presentation context.
    self.definesPresentationContext = YES;
    no hay nada que muestra arriba
    por favor, mostrar una captura de pantalla
    es que la barra de navegación muestra?
    sí de la barra de navegación está mostrando
    sí, su código de nada de lo que muestra

    OriginalEl autor Jamil

  3. 0

    Si usted está usando un UISearchDisplayController, esto debería funcionar.

    Apple Docs

    searchDisplayController.displaysSearchBarInNavigationBar = true
    UISearchDisplayController ya no se utiliza en iOS 8, por lo tanto, no es una buena respuesta para iOS 9.

    OriginalEl autor Beau Nouvelle

Dejar respuesta

Please enter your comment!
Please enter your name here