2012-06-14 19 views
6

Estoy llamando a un UIImagePickerController (sourceTypeCamera) como modalViewController desde mi MainViewController. Sin embargo, el UIImagePickerController no llena la pantalla en la parte superior, como muestra la imagen adjunta. UIImagePickerController strange behavior ¿Alguna idea de qué puede estar causando esto y cómo solucionarlo?UIImagePickerController (sourceTypeCamera) no llena la pantalla en la parte superior/barra de estado

+1

Esto no es de ninguna manera el comportamiento esperado para llamar a un selector simple, por favor incluya la código de cómo lo está presentando para que podamos entender mejor el problema. –

+0

@natan: ¿Solo en la parte superior tienes una barra negra o también en la parte inferior tienes una? Creo que también tienes una barra negra en la parte inferior, pero la has ocultado con la barra de herramientas. ¿Está bien? –

Respuesta

4

Después de muchos intentos, descubrí que al llamar a presentViewController desde [[[[UIApplication sharedApplication] delegate] window] rootViewController] resolvía el problema.

+2

Todavía tengo el mismo problema cuando uso [[[[aplicación UIAplicación compartida] delegado] ventana] rootViewController] presentViewController: videoRecorder animado: YES finalización:^{}], o [auto.window.rootViewController presentModalViewController: videoRecorder animated: YES]; de la clase AppDelegate – richy

+0

¿Está intentando esto en qué iOS? –

0

Debe cambiar la propiedad del marco de imagePickerController. al inicializar, es decir

imagePickerController.view.frame.origin.y = 20;

+0

Gracias por la ayuda, pero no funcionó = ( –

1

Algún código sería útil.

Si corresponde, intente configurar la propiedad bounds en lugar de la propiedad frame.

1

En mi aplicación en un viewcontroller que está dentro navigationController - que estoy haciendo simplemente así:

UIImagePickerController* imagePickerController_; 

imagePickerController_.sourceType = UIImagePickerControllerSourceTypeCamera; 

[self presentModalViewController:imagePickerController_ animated:YES]; 

y

@interface CustomViewController : UIViewController <UIImagePickerControllerDelegate> 

funciona sin problemas. Si aún tiene problemas, ¿puede compartir algún código? ¿Qué tipo de estructura de navegación tiene tu aplicación (tabbarcontroller, navigationcontroller, ...?)? ¿Cómo presentas imagepickercontroller?

-1
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init]; 
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera; 


[self.view addSubview:imagePicker.view]; 

[imagePicker viewWillAppear:YES]; 
[imagePicker viewDidAppear:YES]; 

[[UIApplication sharedApplication] setStatusBarHidden:NO animated:NO]; 
1

Hay un booleano en UIViewController que pueda ser de utilidad para usted: wantsFullScreenLayout. De acuerdo con los documentos, esto es:

Un valor booleano que indica si la vista debe coincidir con la barra de estado.

He tenido varios problemas, especialmente en iOS 5, con vistas debajo de la barra de estado, especialmente cuando se presentan de forma modal. Lo mejor que he encontrado es establecer este valor en YES, y establecer manualmente su vista debajo de la barra de estado. Para su información, la barra de estado tiene una altura de 20.

0

llamada

[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone]; 

Antes de llamar

[self presentModalViewController:picker animated:YES] 
Cuestiones relacionadas