[self.view addSubview:[self creatTableView]];
-(UISearchBar *)searchBar
{
mySearchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, BOUND_WIDTH, 44)];
mySearchBar.delegate = self;
[self searchDisplay];
[mySearchBar setPlaceholder:@"搜索学校"];
//遍历UISearchbar中所有试图 找到UItextField
for(UIView *subView in [mySearchBar subviews]) {
//As of iOS 7 beta 5,
if([subView conformsToProtocol:@protocol(UITextInputTraits)]) {
//改变搜索按钮名称
[(UITextField *)subView setReturnKeyType: UIReturnKeyDone];
} else {
for(UIView *subSubView in [subView subviews]) {
if([subSubView conformsToProtocol:@protocol(UITextInputTraits)]) {
[(UITextField *)subSubView setReturnKeyType: UIReturnKeyDone];
}
}
}
}
// Set the return key and keyboard appearance of the search bar
// for (UIView *searchBarSubview in [tableSearchBar subviews]) {
//
// if ([searchBarSubview conformsToProtocol:@protocol(UITextInputTraits)]) {
//
// @try {
//
// [(UITextField *)searchBarSubview setReturnKeyType:UIReturnKeyDone];
// [(UITextField *)searchBarSubview setKeyboardAppearance:UIKeyboardAppearanceAlert];
// }
// @catch (NSException * e) {
//
// // ignore exception
// }
// }
// }
return mySearchBar;
}
-(void)searchDisplay
{
searchDisplayController = [[UISearchDisplayController alloc]initWithSearchBar:mySearchBar contentsController:self];
searchDisplayController.active = NO;
searchDisplayController.searchResultsDataSource = self;
searchDisplayController.searchResultsDelegate = self;
}
-(UITableView *)creatTableView
{
tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, mySearchBar.frame.size.height, self.view.frame.size.width, self.view.frame.size.height-mySearchBar.frame.size.height) style:UITableViewStyleGrouped];
tableView.delegate = self;
tableView.dataSource = self;
tableView.tableHeaderView = [self searchBar];
[self hideExcessLine:tableView];
return tableView;
}
//取消按钮执行方法
-(void)searchBarCancelButtonClicked:(UISearchBar *)searchBar
{
}
//搜索按钮执行方法
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
{
//代码去除第一响应
[searchDisplayController setActive:NO animated:YES];
}
//原帖地址
http://stackoverflow.com/questions/4728338/iphone-uisearchbar-done-button-always-enabled