實例化UISearchBar
UISearchBar *searchBar = [[UISearchBar alloc]initWithFrame:CGRectMake(0, 64, SHWidth, 40)];
//設置提示文字
searchBar.placeholder = @"搜索";
//設置邊框背景圖片
searchBar.backgroundImage = [UIImage imageNamed:@"searchBar_BG"];
//設置代理
searchBar.delegate = self;
//添加到視圖
self.tableView.tableHeaderView = searchBar;
UISearchBar代理方法
#pragma mark - UISearchBarDelegate
#pragma mark 搜索文字改變
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText{
}
#pragma mark 搜索開始編輯
- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar
{
//設置取消按鈕樣式
//首先取出cancelBtn
UIButton *cancelBtn = [searchBar valueForKey:@"cancelButton"];
//取消按鈕文字
[cancelBtn setTitle:@"取消" forState:UIControlStateNormal];
//取消按鈕文字顏色
[cancelBtn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
}
#pragma mark 編輯
- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar
{
//展示取消按鈕
searchBar.showsCancelButton = YES;
return YES;
}
#pragma mark 編輯
- (BOOL)searchBarShouldEndEditing:(UISearchBar *)searchBar
{
return YES;
}
#pragma mark 取消按鈕點擊
- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar
{
searchBar.text = @"";
//收起鍵盤
[searchBar resignFirstResponder];
//隱藏取消按鈕
[searchBar setShowsCancelButton:NO animated:YES];
}