2016-07-12 12 views
-2

enter image description hereprogrammatisch

enter image description here

habe ich das Drehbuch Tableview mit der Suche Textfeld in dem Viewcontroller zu bauen, wenn ich auf Textfeld Position ziehen und es gut funktionieren. Aber wenn ich ohne Storyboard probierte und Textfeld in der Tabellenansicht hinzufügte, bedeckte es auf erster Zelle. Und wenn ich Sektionskopf verwende, bleibt es auf der festen Position.

tableview.addsubview (textfield) 

Textfeld deckt auf erste Zelle auf der Tableview

für jede Antwort schätzen

+0

fügen Sie es zu dem TableViews-Header hinzu. – vikingosegundo

Antwort

0

Sie können Standard SearchBar zu UITableView, wie diese

UISearchBar *testbar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 70, 320, 44)];; 
[[self tableView] setTableHeaderView:testbar]; 

hinzufügen Sie können auch zuerst erstellen Zelle mit Textfeld und übergeben Sie Daten von Zelle zu Controller von Ihrem benutzerdefinierten Delegaten.

0
-(void)loadTableView { 

    searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, 320, 64)]; 
    searchDisplayController = [[UISearchDisplayController alloc] initWithSearchBar:searchBar contentsController:self]; 
    searchDisplayController.delegate = self; 
    searchDisplayController.searchResultsDataSource = self; 

    self.tableView.tableHeaderView = searchBar; 

} 
+0

sind Sie immer noch in Frage ..? – remyr3my

+0

Vielen Dank für Ihre Antwort, Problem gelöst – TwiLux

0

var resultSearchController = UISearchController()

self.resultSearchController = ({

 let controller = UISearchController(searchResultsController: nil) 
     controller.searchResultsUpdater = self 
     controller.dimsBackgroundDuringPresentation = false 
     controller.searchBar.sizeToFit() 
     controller.searchBar.barTintColor = UIColor(red: 70/255,green: 70/255,blue: 71/255, alpha:0.9) 
     let textField = controller.searchBar.valueForKey("searchField") as! UITextField 
     textField.backgroundColor = UIColor(red: 16/255,green: 16/255,blue: 16/255, alpha:0.3) 
     controller.searchBar.tintColor = UIColor.lightGrayColor() 
     controller.hidesNavigationBarDuringPresentation = false 
     Segtable.tableHeaderView = controller.searchBar 
     controller.definesPresentationContext = true 
     controller.searchBar.delegate = self 
     controller.searchBar.barStyle = UIBarStyle.Black 
     return controller 

    })() 

Unten sind die Delegatmethoden

func updateSearchResultsForSearchController (searchController: UISearchController) { }

+0

Vielen Dank für Ihre detaillierte Antwort, lernte eine Menge UISearchController – TwiLux