2017-07-26 13 views
1

Suche Controller mit Tabellenansicht funktioniert gut. Ich muss die Position einstellen und den Such-Controller, der in der Kopfzeile der Tabellenansicht funktioniert, ein- und ausblenden. Wenn die Tabelle nach dem ersten Bildlauf scrollt, klicken Sie in der Navigationsleiste auf die Schaltfläche für die Suchleiste. wenn ich Doppelklick auf die Suchschaltfläche Suchleiste Controller wird angezeigt. Ich habe die Suche Controller mit einem Klick der Suchtaste nach Tableview zeigenSearch Controller Scroll mit Tabellenansicht in Swift

Scrollen dieser Code der Suchsteuerung ist

let searchController = UISearchController(searchResultsController: nil) 
override func viewDidLoad() { 
     super.viewDidLoad() 

{ 
    tableView.tableHeaderView = nil 

searchController.searchResultsUpdater = self 

     searchController.hidesNavigationBarDuringPresentation = false 

     searchController.dimsBackgroundDuringPresentation = false 

     tableView.tableHeaderView = searchController.searchBar 

     searchController.delegate = self 

     searchController.searchBar.sizeToFit() 


     self.searchController.searchBar.delegate = self 

     tableView.tableHeaderView = nil 


} 



func updateSearchResults(for searchController: UISearchController) { 


     _ = kidsData 

     let searchToSearch = searchController.searchBar.text 

     if(searchToSearch == "") 
     { 
      self.kidsData = self.KidsDataDuplicate 

     } 
     else{ 

      self.kidsData.removeAll() 

      let itemsarray = self.KidsDataDuplicate 

      var forkidsinArray = \[String\]() 

      for Kids in itemsarray { 

       forkidsinArray.append(Kids.name) 
       if(Kids.name.range(of: searchToSearch!, options: .caseInsensitive) != nil) 
       { 
        self.kidsData.append(Kids) 

       } 

      } 
      } 

     self.tableView.reloadData() 
    } 

hide and unhide code 


    var launchBool: Bool = false { 
     didSet { 
      if launchBool == true { 

       tableView.tableHeaderView = searchController.searchBar 
         let indexPath = IndexPath(row: 0, section: 0) 
         self.tableView.scrollToRow(at: indexPath, at: .middle, animated: true) 


      } else { 
       tableView.tableHeaderView = nil 
       myInt = 0 
      } 
     } 
    } 


@IBAction func NAVSearchButton(_ sender: UIBarButtonItem) { 
     launchBool = !launchBool  
    } 

enter image description here

nach Tableview Scrollen, wenn ich von Suchtaste auf Navigation Suche klicken Bar-Controller wird nicht angezeigt, wenn ich auf die Suchschaltfläche doppelklicke und zeige, wie man Search Controller mit Tableview beim Scrollen pls hilft mir helfen

Antwort

0

Wenn ich es richtig verstehe dann hinzufügen Trennen Sie UISearchbar innerhalb des Attribut-Inspektors nach dem navigation item und fügen Sie dann unter UITableView hinzu. Fixierte die Einschränkungen. Jetzt wird Ihre Suchleiste immer sichtbar sein. In Ihrem Fall ist die Suchleiste die Tabellenkopfzeile. So dass, wenn Sie Scroll-Suchleiste wurde auch scrollen

+0

wie Sie den Such-Controller beim Scrollen Tabellenansicht zu beheben. Wenn ich auf die Suchschaltfläche klicke, sollte die Option zum Ein- und Ausblenden funktionieren – naga

Verwandte Themen