2017-11-16 11 views
2

ich UISearchController zu verwenden versuche zusammen mit Umfang Bar in iOS 11.iOS 11 versteckt Umfang bar nach der ersten Präsentation der Suchsteuerung

Hier eine Suchleiste anzuzeigen ist der Code, den ich Setup bin mit der Suche Controller

Ich möchte eine Suchleiste mit einer Bereichsleiste, die immer sichtbar ist. Der obige Code funktioniert einwandfrei, wenn der Ansichtscontroller geladen wird und die Suchleiste zusammen mit der Bereichsleiste angezeigt wird.

Aber sobald der Such-Controller aktiv wird und dann entlassen wird, verbirgt iOS die Bereichsleiste beim Ablehnen des Such-Controllers und es zeigt nur die Suchleiste an.

Ich habe versucht, dieses Problem zu lösen, indem Sie den folgenden Code in didDismissSearchController hinzufügen, aber die Bereichsleiste und die Suchleiste kommen übereinander statt der Bereichsleiste unterhalb der Suchleiste (wie das Bild unten). Das Hinzufügen dieses Codes zu searchBarTextDidBeginEditing(_ searchBar: UISearchBar) oder searchBarTextDidEndEditing(_ searchBar: UISearchBar) hat keine Auswirkung.

searchController.searchBar.showsScopeBar = true 
searchController.searchBar.sizeToFit() 

enter image description here

Antwort

1
  1. Versuchen das Hinzufügen dieser dies zu Ihrer Suche Controller Setup:

    searchController.sizeToFit() 
    
  2. dieses Dann fügen:

    func searchBarShouldBeginEditing(_ searchBar: UISearchBar) -> Bool { 
        self.searchBar.sizeToFit() 
        return true 
    } 
    
    func searchBarShouldEndEditing(_ searchBar: UISearchBar) -> Bool { 
        self.searchBar.sizeToFit() 
        return true 
    } 
    

Setzen Sie searchController.searchBar.showsScopeBar = true nicht in die Suchleistenfunktionen. Das verursacht aus irgendeinem Grund ein Problem.

Verwandte Themen