Configurar el tamaño de fotogtwig de UIImagePickerController

¿Es posible cambiar el tamaño de cuadro visualizable de UIImagePickerController? Quiero mostrar la vista de la camera, pero no en la pantalla completa, pero diga en un cuadro delimitador de 100×100.

Aquí está mi vistaDidAppear:

- (void) viewDidAppear:(BOOL)animated { UIImagePickerController *picker = [[UIImagePickerController alloc] init]; picker.sourceType = UIImagePickerControllerSourceTypeCamera; picker.showsCameraControls = NO; picker.cameraDevice = UIImagePickerControllerCameraDeviceFront; picker.cameraViewTransform = CGAffineTransformScale(picker.cameraViewTransform, CAMERA_TRANSFORM_X, CAMERA_TRANSFORM_Y); [self presentModalViewController:picker animated:YES]; [super viewDidAppear:YES]; } 

No pude encontrar una manera de hacer eso en cualquier lugar … ¿nadie lo usa?

Experimenté con el código de mi última publicación y comenté la transformación de la escala final ((la que lo hace de tamaño completo) y terminé con una encantadora image en miniatura de la camera flotante en el medio de mi pantalla, por lo que definitivamente funciona ! El código exacto que utilicé, incluida la transición de zoom / fundido, es –

 UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init]; imagePickerController.delegate = self; imagePickerController.mediaTypes = [NSArray arrayWithObjects:(NSString *)kUTTypeImage, nil]; imagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera; imagePickerController.cameraCaptureMode = UIImagePickerControllerCameraCaptureModePhoto; UIView *controllerView = imagePickerController.view; controllerView.alpha = 0.0; controllerView.transform = CGAffineTransformMakeScale(0.5, 0.5); [[[[UIApplication shanetworkingApplication] delegate] window] addSubview:controllerView]; [UIView animateWithDuration:0.3 delay:0.0 options:UIViewAnimationOptionCurveLinear animations:^{ controllerView.alpha = 1.0; } completion:nil ]; [imagePickerController release]; 

Estoy seguro de que podrías personalizarlo más, cambiar el tamaño y la location de la vista de la camera.

Si desea mostrar una superposition en la parte superior del UIImagePickerController, como en mi caso, al mismo time que ajusta la "alimentación de camera en vivo" (la vista) del controller entre algunos componentes de la interfaz de usuario en su superposition (como una barra superior y una barra inferior), usa el siguiente código. Esto se basa en la respuesta de SomaMan anterior (GRACIAS), con la principal diferencia de mostrar la vista de UIImagePickerController como una subvista del controller actual en lugar de como una subvista de la window principal de la aplicación. Coloque este código en viewDidLoad ():

 // Overlay view with custom camera controls and a top bar and a bottom bar self.overlay = [[CameraOverlayView alloc] initWithFrame:self.view.bounds]; [self setOverlayViewModel]; self.imagePicker = [[UIImagePickerController alloc] init]; self.imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera; self.imagePicker.cameraCaptureMode = UIImagePickerControllerCameraCaptureModePhoto; self.imagePicker.cameraFlashMode = UIImagePickerControllerCameraFlashModeOff; self.imagePicker.showsCameraControls = NO; self.imagePicker.navigationBarHidden = YES; self.imagePicker.toolbarHidden = YES; self.imagePicker.delegate = self; UIView *imagePickerView = self.imagePicker.view; if ([[UIScreen mainScreen] bounds].size.height == 568.0f) { // iPhone 5, 16:9 ratio, need to "zoom in" in order to fill the screen since there is extra space between top and bottom bars on a taller screen self.imagePicker.cameraViewTransform = CGAffineTransformScale(self.imagePicker.cameraViewTransform, 1.5, 1.5); // change 1.5 to suit your needs } CGRect cameraViewFrame = CGRectMake(0, self.overlay.topBarHeight, self.view.bounds.size.width, self.view.bounds.size.height - self.overlay.topBarHeight - self.overlay.bottomBarHeight); imagePickerView.frame = cameraViewFrame; // keep this order so that the overlay view is on top of the "live camera feed" view [self.view addSubview:imagePickerView]; [self.view addSubview:self.overlay]; 

SUGERENCIA: Cuando realice cameraViewTransform, asegúrese de aplicar la misma transformación en la foto resultante que el selector captura para usted si desea que el usuario termine con la misma image que ve a través de la vista del selector transformado: P

A veces agregué la vista de ImagePicker directamente, aunque nunca he experimentado con cambiar su tamaño final, hace "zoom" en la pantalla, sugiriendo que podría ser posible mostrarlo en diferentes tamaños (código levantado directamente de uno de mis proyectos, por lo que probablemente no sean todos relevantes)

 UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init]; imagePickerController.delegate = self; imagePickerController.mediaTypes = [NSArray arrayWithObjects:(NSString *)kUTTypeImage, nil]; imagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera; imagePickerController.cameraCaptureMode = UIImagePickerControllerCameraCaptureModePhoto; UIView *controllerView = imagePickerController.view; controllerView.alpha = 0.0; controllerView.transform = CGAffineTransformMakeScale(0.5, 0.5); [[[[UIApplication shanetworkingApplication] delegate] window] addSubview:controllerView]; [UIView animateWithDuration:0.3 delay:0.0 options:UIViewAnimationOptionCurveLinear animations:^{ controllerView.transform = CGAffineTransformMakeScale(1.0, 1.0); controllerView.alpha = 1.0; } completion:nil ]; [imagePickerController release]; 

Esté interesado para ver si obtiene algún resultado con esto.