配置UIImagePickerController的帧大小 [英] configuring frame size of UIImagePickerController
问题描述
是否可以更改UIImagePickerController的可显示帧大小?我想显示相机视图,但不是在整个屏幕上,而是在一个100x100的边框。
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.
这是我的viewDidAppear:
Here is my viewDidAppear:
- (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];
}
我找不到办法做任何地方...没有任何人使用它?
I could not find a way to do that anywhere...doesnt anyone using it?
推荐答案
我试验了最后一篇文章的代码,并注释掉了最后的缩放变换大小),我结束了一个漂亮的微型摄像机imagePicker漂浮在屏幕中间,所以它绝对工作!我使用的确切的代码,包括缩放/淡入过渡,是 -
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.
这篇关于配置UIImagePickerController的帧大小的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!