Я добавляю элемент выбора контактов в своем приложении, однако мне не нужны функции поиска.Как скрыть/удалить строку поиска на Contact Picker
Как скрыть/удалить панель поиска на Contact Picker (ABPeoplePickerNavigationController)?
Я добавляю элемент выбора контактов в своем приложении, однако мне не нужны функции поиска.Как скрыть/удалить строку поиска на Contact Picker
Как скрыть/удалить панель поиска на Contact Picker (ABPeoplePickerNavigationController)?
static BOOL foundSearchBar = NO;
- (void)findSearchBar:(UIView*)parent mark:(NSString*)mark {
for(UIView* v in [parent subviews]) {
//if(foundSearchBar) return;
NSLog(@"%@%@",mark,NSStringFromClass([v class]));
if([v isKindOfClass:[UISearchBar class]]) {
[(UISearchBar*)v setTintColor:[UIColor blackColor]];
v.hidden=YES;
// foundSearchBar = YES;
break;
}
if([v isKindOfClass:[UITableView class]]) {
CGRect temp =v.frame;
temp.origin.y=temp.origin.y-44;
temp.size.height=temp.size.height+44;
v.frame=temp;
//foundSearchBar = YES;
break;
}
[self findSearchBar:v mark:[mark stringByAppendingString:@"> "]];
}
}
вызова метода выше после того, как подборщика представлен, как показано ниже:
-(void)showPeoplePickerController
{
ABPeoplePickerNavigationController *picker = [[ABPeoplePickerNavigationController alloc] init];
picker.peoplePickerDelegate = self;
picker.view.autoresizingMask = UIViewAutoresizingFlexibleHeight;
// Display only a person's phone, email, and birthdate
NSArray *displayedItems = [NSArray arrayWithObjects:[NSNumber numberWithInt:kABPersonPhoneProperty],
[NSNumber numberWithInt:kABPersonEmailProperty],
[NSNumber numberWithInt:kABPersonBirthdayProperty],[NSNumber numberWithInt:kABPersonAddressProperty],nil];
picker.displayedProperties = displayedItems;
// Show the picker
[self presentViewController:picker animated:YES completion:nil];
[self findSearchBar:[picker view] mark:@"> "];
[picker release];
}
Это работает, но AZ на правой стороне, разрезает A и B и начинается с C. Также, в следующий раз, когда я загружаю сборщик, панель поиска снова появляется. –
Да, я этого не заметил. проверка .. – Nookaraju
Я отредактировал ваш код :) –
-(void)showAddressBook {
ABPeoplePickerNavigationController *addressBook = [[ABPeoplePickerNavigationController alloc] init];
[addressBook setPeoplePickerDelegate:self];
addressBook.delegate = self;
addressBook.navigationBar.topItem.title = @"iPhone Contacts";
UIView *view = addressBook.topViewController.view;
for (UIView *v in view.subviews) {
if ([v isKindOfClass:[UITableView class]]) {
CGRect temp = v.frame;
temp.origin.y = temp.origin.y - 44;
temp.size.height = temp.size.height + 44;
v.frame = temp;
}
}
[addressBook release];
}
- (void)navigationController:(UINavigationController*)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated {
if ([navigationController isKindOfClass:[ABPeoplePickerNavigationController class]]) {
UISearchDisplayController *searchDisplayController = navigationController.topViewController.searchDisplayController;
[searchDisplayController.searchBar setHidden:YES];
}
}
выбора адреса? это какая-то пользовательская библиотека. Если да, то какой-то –
http://stackoverflow.com/questions/16815238/abpeoplepickernavigationcontroller-display-all-contact-data-in-a-single-cel/16815609#16815609 – Rajneesh071