Пользовательские действия на ABPersonViewController - PullRequest
0 голосов
/ 04 марта 2010

Мое приложение вызывает ABPersonViewController и дает пользователю возможность редактировать или выбирать контакт. Я могу легко разрешить редактирование (pvc.allowsEditing = YES), но не могу понять, как добавить кнопку «Выбрать». Я бы предпочел добавить его в ABPersonViewController в качестве пользовательской кнопки, такой как текстовое сообщение и т. Д. Кнопки по умолчанию.

Ответы [ 2 ]

0 голосов
/ 21 декабря 2012

Нет, вы не можете. Любые изменения внешнего вида ABPersonContact по умолчанию будут отклонены Apple. Альтернативный способ - настроить свой собственный ViewController и загрузить данные из Contact.

0 голосов
/ 18 августа 2010

Я закончил подклассом ABPersonViewController и соскользнул в UIToolbar после его появления. Пример ниже:

- (void)showToolbar
{
// build the toolbar items
UIBarButtonItem *spaceItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
NSString* buttonTitle = NSLocalizedString(@"Select This Contact",@"button to select a contact");
UIBarButtonItem *chooseItem = [[UIBarButtonItem alloc] initWithTitle:buttonTitle
                                                               style:UIBarButtonItemStyleDone 
                                                              target:self 
                                                              action:@selector(chooseContact)];

// slide in the toolbar
self.navigationController.toolbar.barStyle = UIBarStyleDefault;
[self.navigationController setToolbarHidden:NO animated:YES];
self.navigationController.toolbar.items = [NSArray arrayWithObjects:spaceItem, chooseItem, nil];
[spaceItem release];
[chooseItem release];
}


- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
[self.navigationController setToolbarHidden:YES animated:animated];
}

- (void)viewDidAppear:(BOOL)animated 
{
[self showToolbar];
[super viewDidAppear:animated];
}
...