【发布时间】:2013-12-04 07:57:00
【问题描述】:
我在导航栏中有搜索图标,在 TableViewHeader 中有 UISearchBar。 我想隐藏 UISearchBar 但在以下情况下显示和隐藏:
UISearchbar 显示:点击搜索图标,然后消除导航并显示它。
UISearchBar hide:按取消隐藏搜索并显示导航返回。
请帮帮我!!
谢谢。
这是我到目前为止所做的。
- (void) viewDidload{
self.searchBar = [[UISearchBar alloc] initWithFrame:CGRectZero];
self.searchBar.placeholder = @"Search";
self.searchBar.delegate = self;
[self.searchBar sizeToFit];
self.strongSearchDisplayController = [[UISearchDisplayController alloc] initWithSearchBar:self.searchBar contentsController:self];
self.searchDisplayController.searchResultsDataSource = self;
self.searchDisplayController.searchResultsDelegate = self;
self.searchDisplayController.delegate = self;
self.tableView.tableHeaderView = self.searchBar;
_btnSearch = [UIButton buttonWithType:UIButtonTypeCustom];
_btnSearch.frame = CGRectMake(0, 0, 22, 22);
[_btnSearch setImage:[UIImage imageNamed:@"search_btn.png"] forState:UIControlStateNormal];
[_btnSearch addTarget:self action:@selector(showSearch:) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *searchItem = [[UIBarButtonItem alloc] initWithCustomView:_btnSearch];
self.navigationItem.rightBarButtonItems = _btnSearch;
}
这是我点击图标搜索时的操作
- (IBAction)showSearch:(id)sender{
[self.searchBar becomeFirstResponder];
}
我不想将我的搜索放在 tableView 中,当我点击搜索图标时我怎么还能显示 UISearchBar?
另一个问题:当我调用 [self.searchBar becomeFirstResponder];它不好用。取消按钮根本不起作用。
请帮帮我。
【问题讨论】:
-
如果我没记错的话,在图片中这是UISearchbarController
-
@Virussmca 不,这只是图标。单击图标后,我想显示 UISearchBar 。你能帮帮我吗?
标签: objective-c uitableview uisearchbar