Domanda

Ho un nuovo progetto in cui voglio visualizzare un raccoglitore di persone, quando un pulsante viene toccato.

Quindi ho un UIButton che segue un generico UIViewController con l'identificatore showContacts. Ho impostato la classe di questo ViewController ABPeoplePickerNavigationController.

Ora nel mio tiro vietacontroller ho questo codice per inizializzare il mio picker:

#pragma mark - Segues

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{

    if([segue.identifier isEqualToString:@"showContacts"]){
        ABPeoplePickerNavigationController *ppnc = segue.destinationViewController;
        ppnc.peoplePickerDelegate = self;
        ppnc.addressBook = ABAddressBookCreate(); 
        ppnc.displayedProperties = [NSArray arrayWithObject:[NSNumber numberWithInt:kABPersonPhoneProperty]];
    }
}

Anche se ho aggiunto contatti di test alla mia rubrica del simulatore, i risultati sembrano questo:

Nessun picker http://i.minus.com/jbwuqylr36chho.png

Con il seguente codice, che è molto simile a quello che faccio in prepareForSegue: metodo, riesco a mostrare un selettore tramite un IBAction:

- (IBAction)showPicker:(id)sender {

    ABPeoplePickerNavigationController *picker = [[ABPeoplePickerNavigationController alloc] init];
    picker.peoplePickerDelegate = self;
    NSArray *displayedItems = [NSArray arrayWithObjects:[NSNumber numberWithInt:kABPersonPhoneProperty], 
                               [NSNumber numberWithInt:kABPersonEmailProperty],
                               [NSNumber numberWithInt:kABPersonBirthdayProperty], nil];
    picker.displayedProperties = displayedItems;
    // Show the picker 
    [self presentModalViewController:picker animated:YES];
}

Il risultato:

Picker http://i.minus.com/jeeveibmfiydr.png

Non mi è chiaro perché il raccoglitore di persone non mostra.

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top