2010-09-09 15 views
5

Tengo un controlador de segmento en una de mis vistas y ahora en el 0 ° índice del controlador de segmento Quiero agregar UIImagePickerController (para mostrar la vista de cámara al usuario) al agregar como subvista y no por ModalViewController. En este momento, la vista se carga pero no muestra ninguna vista de cámara. Puedo mostrar la vista de cámara por presentModalViewController y pasar su objeto.Cómo agregar UIImagePickerController como una vista secundaria en lugar de Vista modal

Aquí está la code--

if(segmentedControl.selectedSegmentIndex==0) 

{ 

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

cameraView.sourceType = UIImagePickerControllerSourceTypeCamera; 

cameraView.showsCameraControls = NO; 

//[self presentModalViewController:cameraView animated:YES]; //Working 

[self.view addSubview:cameraView.view]; // Not Working 

} 

Respuesta

11
[self.view addSubview:picker.view]; 
[picker viewWillAppear:YES]; // trickery to make it show 
[picker viewDidAppear:YES]; 

Se obtiene una barra blanca en la parte superior como efecto secundario, ya UIImagePickerController no está destinado a ser utilizado con él.

0

Debe evitar hacer esto, no se recomienda y podría provocar efectos secundarios no deseados.

Como se indica en la documentación (https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIImagePickerController_Class) no se puede agregar como un subvista, debe presentarlo como un nuevo controlador

Aquí un pedazo de la doc:

En el iPhone o el iPod touch , haga esto modalmente (pantalla completa) llamando al presentViewController: animado: método de finalización del controlador de vista activo actualmente , pasando su controlador de selector de imagen configurado como el nuevo controlador de vista.

Hope this helpes!

Cuestiones relacionadas