UISearchDisplayController
hatte eine boolean
Eigenschaft namens displaysSearchBarInNavigationBar
. Was ist in iOS 8 gleichzusetzen, damit meine Suchleiste dort hochgeht? Jede Anleitung wird sehr geschätzt.Anzeige der Suchleiste in der Navigationsleiste in iOS 8
Hier ist mein Code, ich bin mir nicht ganz sicher, warum das nicht funktioniert. Wenn ich auf die Suchleiste klicke, verschwindet sie einfach, anstatt sich selbst und die Navigationsleiste zu bewegen.
import UIKit
class ViewController: UIViewController, UISearchResultsUpdating, UISearchControllerDelegate, UISearchBarDelegate, UITableViewDelegate, UITableViewDataSource {
let searchController = UISearchController(searchResultsController: nil)
var tableView = UITableView()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
self.searchController.searchResultsUpdater = self
self.searchController.delegate = self
self.searchController.searchBar.delegate = self
self.searchController.hidesNavigationBarDuringPresentation = true
self.searchController.dimsBackgroundDuringPresentation = true
tableView.dataSource = self
tableView.delegate = self
self.navigationItem.titleView = searchController.searchBar
self.definesPresentationContext = true
self.setupSearchBar()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func updateSearchResultsForSearchController(searchController: UISearchController) {
}
func setupSearchBar() {
// Set search bar position and dimensions
var searchBarFrame: CGRect = self.searchController.searchBar.frame
var viewFrame = self.view.frame
self.searchController.searchBar.frame = CGRectMake(searchBarFrame.origin.x, searchBarFrame.origin.y + 64,viewFrame.size.width, 44)
// Add search controller's search bar to our view and bring it to forefront
self.view.addSubview(self.searchController.searchBar)
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell = UITableViewCell()
return cell
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 5
}
}
, die nicht tu es wirklich für mich. Ich habe meinen Code veröffentlicht. Fühlen Sie sich frei, es anzuschauen und sagen Sie mir, warum das nicht so läuft, wie ich es möchte. – Mihado
@MihadAlzayat Ich habe es mit einer Navigationsleiste getestet und es funktioniert gut und verschwinden nicht, aber was Sie wirklich wollen? einen Suchbalken unterhalb der Navigationsleiste (oben in der Tabellenansicht) platzieren? –
@MihadAlzayat Siehe aktualisierte Antwort, um zu sehen, wie man es mit Navigationsleiste wie Sie –