configuring frame size of UIImagePickerController

后端 未结 3 534
时光取名叫无心
时光取名叫无心 2020-12-29 14:37

Is it possible to change the displayable frame size of UIImagePickerController? I want to display camera view but not on the entire screen, but say in a 100x100 bounding box

3条回答
  •  佛祖请我去吃肉
    2020-12-29 14:46

    I experimented with the code from my last post, and commented out the final scale transform ((the one which makes it full size) and I ended up with a lovely miniature camera imagePicker floating in the middle of my screen, so it definitely does work! The exact code I used, including the zoom/fade-in transition, is -

    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 sharedApplication] delegate] window] addSubview:controllerView];
    
    [UIView animateWithDuration:0.3
                      delay:0.0
                    options:UIViewAnimationOptionCurveLinear
                 animations:^{
                     controllerView.alpha = 1.0;
                 }
                 completion:nil
     ];
    
    [imagePickerController release];
    

    I'm sure you could customise it more, change the size & location of the camera view.

提交回复
热议问题