iOS UIImagePickerController, marco establecido

Estoy tratando de lograr el siguiente resultado:

Establezca el marco de mi UIImagePickerController, digamos 200 x 200,

Establezca mi marco en la esquina inferior derecha (al igual que Facetime / Skype)

y muestra el flujo de camera frontal / posterior (no importa).

¡Aquí está mi código, por alguna razón, setFrame no funciona!

self.picker = [[UIImagePickerController alloc] init]; self.picker.sourceType = UIImagePickerControllerSourceTypeCamera; self.picker.cameraCaptureMode = UIImagePickerControllerCameraCaptureModePhoto; self.picker.cameraDevice = UIImagePickerControllerCameraDeviceRear; self.picker.showsCameraControls = NO; self.picker.navigationBarHidden = YES; self.picker.view.frame = CGRectMake(600, 400, 200, 200); // NOT WORKING !!! self.picker.toolbarHidden = YES; self.picker.wantsFullScreenLayout = NO; self.picker.delegate = delegate; [self presentViewController:self.picker animated:YES completion:nil]; 
  1. He visto temas de SO similares pero todos hablan sobre cómo

    establezca una vista en la parte superior del UIImagePickerController, no es mi problema en absoluto.

  2. He intentado agregar self.picker a una UIView personalizada tamaño 200 x 200 pero aún así

    sin éxito.

¿Qué estoy haciendo mal aquí?

Gracias

cameraViewTransform usar la propiedad UIImagePicker de UIImagePicker para ajustar su marco de camera. Esta propiedad acepta cualquier CGAffineTransform que haya realizado (p. Ej. CGAffineTransform , rotation, inversión, traducción, etc.).

Por ejemplo, si desea mover la vista de la camera hacia abajo por 50 puntos y escalar la vista de la camera 1.2 veces su tamaño original, así es como lo hará:

  CGAffineTransform transform = CGAffineTransformMakeTranslation(0.0f, 50.0f); transform = CGAffineTransformScale(transform, 1.2f, 1.2f); imagePicker.cameraViewTransform = transform; 

Desde el enlace de reference de UIViewController

presentViewController: animado: finalización:

Discusión

En iPhone y iPod touch, la vista presentada siempre es pantalla completa

Si desea incrustar un selector de image, debe agregar manualmente su vista a una de sus otras vistas.

Me gusta esto

 [self.view addSubview:self.imagePickerController.view]; 

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];