Skip to content

Instantly share code, notes, and snippets.

@kwylez
Created September 24, 2010 14:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kwylez/595439 to your computer and use it in GitHub Desktop.
Save kwylez/595439 to your computer and use it in GitHub Desktop.
// Parent UIViewControlller
- (void)viewWillAppear:(BOOL)animated {
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(refreshSearchBarControllerWithDepartmentCode:)
name:@"DepartmentCodeNotification"
object:nil];
[super viewWillAppear:animated];
}
- (void) refreshSearchBarControllerWithDepartmentCode:(NSNotification *)notification {
NSString *key;
NSString *trimmedSearchString;
for (key in [notification userInfo]) {
trimmedSearchString = [[[notification userInfo] valueForKey:key] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
}
self.searchDisplayController.searchBar.text = trimmedSearchString;
[self.searchDisplayController.searchBar becomeFirstResponder];
[self.searchDisplayController.searchResultsTableView reloadData];
}
- (void)searchBar:(UISearchBar *)searchBar selectedScopeButtonIndexDidChange:(NSInteger)selectedScope {
if (selectedScope == DEPARTMENT_SCOPE_TITLE_INDEX && [[self.searchDisplayController.searchBar text] length] <= 2) {
DepartmentsViewController *dvController = [[DepartmentsViewController alloc] initWithNibName:@"DepartmentsView" bundle:[NSBundle mainBundle]];
[self presentModalViewController:dvController animated:YES];
[dvController release];
} else if ([[self.searchDisplayController.searchBar text] length] >= 2) {
NSString *trimmedSearchString = [[self.searchDisplayController.searchBar text] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
[self getEmployees:trimmedSearchString method:[[self.searchDisplayController.searchBar scopeButtonTitles] objectAtIndex:selectedScope]];
[self.searchDisplayController.searchResultsTableView reloadData];
}
}
//Child UIViewController
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSString *code = [self.tableView cellForRowAtIndexPath:indexPath].detailTextLabel.text;
NSString *description = [self.tableView cellForRowAtIndexPath:indexPath].textLabel.text;
NSDictionary *searchDepartmentCode = [NSDictionary dictionaryWithObjectsAndKeys: code, description, nil];
[[NSNotificationCenter defaultCenter] postNotificationName:@"DepartmentCodeNotification"
object:nil
userInfo:searchDepartmentCode];
[self dismissModalViewControllerAnimated:YES];
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment