UISearchBar

<UISearchBarDelegate> NSMutableArray *arr1,*arrreslt;

NSString *str1; BOOL issearching;

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{

if (issearching)
{
return arrreslt.count;

}
else
{

return arr1.count;
}

// return 0;
}

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

UITableViewCell *cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil];

if (issearching)
{

cell.textLabel.text = [arrreslt objectAtIndex:indexPath.row];
}

else{
cell.textLabel.text = [arr1 objectAtIndex:indexPath.row];

}

return cell;
}

-(void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText{

[arrreslt removeAllObjects]; issearching = TRUE;
for (NSString *str in arr1)
{

NSRange rang = [str rangeOfString:searchText]; if (rang.length > 0 && rang.location == 0)
{

[arrreslt addObject:str];
}

}

[tblview reloadData];
}

-(BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar

{
[searchBar setShowsCancelButton:YES];
[searchBar setShowsBookmarkButton:YES];
return YES;

}
-(void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
{

[searchBar resignFirstResponder]; }

-(void)searchBarCancelButtonClicked:(UISearchBar *)searchBar{ [searchBar resignFirstResponder];
issearching = false;
[tblview reloadData];

}

Or

NSMutableArray *arr,*arrfiltr; NSString *strng1,*strng2;

BOOL isserarching;

arr=[[NSMutableArray alloc]initWithObjects:@”beach”,@”civic”,@”family”,@”happy”,@”icecream”, @”nature”,@”rose”,@”sport”,@”valentine”, nil];

arrfiltr=[[NSMutableArray alloc]init]; if (isserarching)

return [arrfiltr count];

return [arr count]; if (isserarching)
{

cell.textLabel.text=[arrfiltr objectAtIndex:indexPath.row];
}

else{
cell.textLabel.text=[arr objectAtIndex:indexPath.row];

}

-(void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText{

if (searchText.length>0) { isserarching = YES;
[arrfiltr removeAllObjects]; for (int i=0; i<arr.count; i++)
{

NSString *strng=[arr objectAtIndex:i];

NSRange rng=[strng rangeOfString:searchText options:NSCaseInsensitiveSearch];

if (rng.location != NSNotFound) { [arrfiltr addObject:strng];

}
}

}

Else
{

isserarching = NO;
}

[tblview reloadData];
}

-(void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
{
[searchBar resignFirstResponder];

}

Leave a comment