2016-08-01 7 views
3

Ich habe ein Problem beim Versuch, eine Suchleiste (UISearchController) in der Kopfzeile der Tabelle von MasterViewController hinzuzufügen. Initial state Search selected Wie Sie sehen können, wird die Tabelle unter der Suchleiste angezeigt. Irgendwelche Ideen, wie kann ich das beheben?UITableView unter UISearchBar auf MasterViewController (UISplitViewController)

Hier ist der Code, den ich für die

MasterViewController verwenden
private var searchController : UISearchController = ({ 
    let controller = UISearchController(searchResultsController: nil) 
    controller.dimsBackgroundDuringPresentation = false 
    controller.searchBar.sizeToFit() 
    return controller 
})() 

override func viewDidLoad() { 
    super.viewDidLoad() 
    navigationController?.navigationBar.translucent = false 

    self.edgesForExtendedLayout = .None 
    self.extendedLayoutIncludesOpaqueBars = false 
    self.automaticallyAdjustsScrollViewInsets = false 

    searchController.searchResultsUpdater = self 
    searchController.searchBar.delegate = self 
    self.tableView.tableHeaderView = searchController.searchBar 

    if let split = self.splitViewController { 
     let controllers = split.viewControllers 
     self.detailViewController = (controllers[controllers.count-1] as! UINavigationController).topViewController as? DetailViewController 
    } 
} 
+0

Try 'definesPresentationContext = true' für deinen 'searchController' – Santosh

+0

Ich habe das probiert und nichts ist passiert. Ich denke, dass das Problem auf dem 'UISplitViewController' liegt, weil ich diesen Code auf einem' UITableViewController' auf dem iPhone verwendet habe und es hat gut funktioniert. –

Antwort

0

Storyboard öffnen, wählen Sie Ihren Controller Ansicht und in Attribute Inspektor, deaktivieren Under Top Bars in -View-Controller-Gruppe

Verwandte Themen