2015-04-12 12 views
12

Quando si tenta di utilizzare "ABPeoplePickerNavigationController" o "UIImagePickerController", nella maggior parte dei casi non verrà caricato correttamente. Mostrerà parte dello schermo (trasparente) che inizia nel mezzo dello schermo in iOS 7 (ipad) sia per il simulatore che per il dispositivo (schermata seguente). In iOS 8 tutto funziona correttamente.ABPeoplePickerNavigationController e UIImagePickerController non vengono visualizzati correttamente su ipad iOS7

Questo è il codice che uso per ABPeoplePickerNavigationController:

ABPeoplePickerNavigationController *picker = [[ABPeoplePickerNavigationController alloc] init]; 
picker.peoplePickerDelegate = self; 
self.preserveCurrentEntity = YES; 
[self presentViewController:picker animated:NO completion:nil]; 

UIImagePickerController si romperà solo per la raccolta di video, ma lavorare per tutto il resto, questo è il codice che uso:

UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init]; 

switch (buttonIndex) { 
    case ImagePickerModeCamera: 
      imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera; 
     break; 
    case ImagePickerModeAlbum: 
     imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 
     break; 
    default: 
     break; 
} 
imagePicker.delegate = self; 

NSMutableArray *mediaType = [[NSMutableArray alloc] init]; 

switch (self.actionSheetType) { 
    case ActionSheetTypeImage: 
     [mediaType addObject:(NSString*)kUTTypeImage]; 
     break; 
    case ActionSheetTypeVideo: { 
     [mediaType addObject:(NSString*)kUTTypeMovie]; 
     [mediaType addObject:(NSString*)kUTTypeVideo]; 
     imagePicker.allowsEditing =NO; 
    } 
     break; 
    default: 
     break; 
} 

imagePicker.mediaTypes = mediaType; 
[self presentViewController:imagePicker animated:NO completion:nil]; 

Questo è cosa succede in iOS7 durante il caricamento di ABPeoplePickerNavigationController:

iOS 7

Questo è ciò che accade in iOS 8 durante il caricamento ABPeoplePickerNavigationController:

iOS8

Qual è la soluzione per risolvere questo problema?

risposta

5

Sembra che abbia trovato la soluzione al mio problema.

Ho un controller di visualizzazione radice con due xibs, uno per iPad e uno per iPhone. Sembra che il mio iPad causasse il problema anche se erano molto simili (solo uno era più grande). Non riuscivo a capire perché.

Io uso solo l'iPhone ora e mi assicuro che sia ridimensionato correttamente su iPad e tutto funzioni correttamente.

4

Ho lo stesso problema come te, ma dopo aver perso un po 'di tempo ho ricevuto alcuni post, che quello che potrebbe essere il motivo nel tuo caso.

iPhone biblioteca non funziona sul simulatore iOS nel caso particolare di raccogliere Vedio

Referred Post per la mia soluzione. e ha lavorato per me.

Aggiornamento su di esso, se hai ancora problemi, posso pubblicare il mio codice per aiutarti.

HTH, Buona navigazione!

+0

Il problema non è solo sul simulatore. – Zammbi

+1

Ho codificato come te, se hai bisogno del mio codice, posso aggiornare la risposta. –