我使用storyboard在ViewController中使用搜索文本字段构建tableview,当我在位置拖动文本字段并且它运行良好时。但是,当我尝试没有故事板并在tableview中添加文本字段时,它覆盖在第一个单元格上。当我使用节头时,它将保持在固定位置。
tableview.addsubview (textfield)
textfield将覆盖tableView上的第一个单元格
感谢任何回复
答案 0 :(得分:0)
您可以将默认搜索栏添加到UITableView
,就像这样
UISearchBar *testbar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 70, 320, 44)];;
[[self tableView] setTableHeaderView:testbar];
或者您可以使用textfield创建第一个单元格,并通过自定义委托将数据从单元格传递给控制器。
答案 1 :(得分: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;
}
答案 2 :(得分: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
})()
以下是委托方法
func updateSearchResultsForSearchController(searchController:UISearchController) { }