我想修改tableSearch示例代码,以便tableview没有nib。由于它已经是tableviewcontroller的子类,我可以这样调用tableview:
MainViewController *mainViewController = [[MainViewController alloc] initWithStyle:UITableViewStylePlain];//NibName:@"MainView" bundle:nil];
没有笔尖,我想手动添加搜索栏。我在下面尝试过:
UISearchBar* searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0,10, 320, 41)];
[searchBar setFrame:CGRectMake(0,10, 320, 41)];
searchBar.delegate = self;
searchBar.tintColor = [UIColor redColor];
[searchBar sizeToFit];
self.tableView.tableHeaderView = searchBar;
搜索栏确实显示正常。现在我希望这个搜索栏的搜索操作指向我在代码中已有的方法,即searchDisplayController委托方法。 无论如何,我可以将self.searchDisplayController的搜索栏属性指向我的自定义搜索栏,以便他们执行相同的操作吗?提前谢谢......
答案 0 :(得分:1)
您必须使用initWithSearchBar:contentsViewController
的{{1}}方法。这样,您的自定义搜索栏将与控制器关联。此外,您还必须在此方法中设置UISearchDisplayController
。
答案 1 :(得分:0)
嗯......这是我的一个VC的代码。还设置UISearchBarDelegate,UISearchDisplayDelegate
_listContainer = [[UITableView alloc] init];
_listContainer.delegate = self;
_listContainer.dataSource = self;
_listContainer.separatorStyle = UITableViewCellSelectionStyleNone;
_data = [[NSArray alloc] init];
然后
_searchBar = [[NL_CustomSearchBar alloc] initWithFrame:CGRectMake(4.0f, 0, 150, 46)];
_searchBar.delegate = self;
_listContainer.tableHeaderView = _searchBar;