我想知道是否有,我可以在使用UIImagePickerController时自定义摄像头视图的大小。就像当我使用相机选项拾取图像时,它会占用整个屏幕。相反,我希望它只需要一个250乘250的方形窗口。这样屏幕上其余的内容就不会受到影响,并且您将通过摄像头在仅分配给图片的小窗口中看到iPhone背后的视图。自定义摄像头在UIImagePickerController中查看
这是可能的。
我想知道是否有,我可以在使用UIImagePickerController时自定义摄像头视图的大小。就像当我使用相机选项拾取图像时,它会占用整个屏幕。相反,我希望它只需要一个250乘250的方形窗口。这样屏幕上其余的内容就不会受到影响,并且您将通过摄像头在仅分配给图片的小窗口中看到iPhone背后的视图。自定义摄像头在UIImagePickerController中查看
这是可能的。
在.h
文件搜索:
#define CAMERA_TRANSFORM_X 0.70
#define CAMERA_TRANSFORM_Y 0.50
// For screen dimensions:
#define SCREEN_WIDTH 100
#define SCREEN_HEIGTH 100
在.m
文件,在ViewWillAppear
方法:
- (void) viewDidAppear:(BOOL)animated
{
OverlayView *overlay = [[OverlayView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGTH)];
// Create a new image picker instance:
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
// Set the image picker source:
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
// Hide the controls:
picker.showsCameraControls = NO;
picker.navigationBarHidden = NO;
//[[[self captureManager] previewLayer] setBounds:CGRectMake(0,0,320,480)]; // Make camera view full screen:
picker.wantsFullScreenLayout = normal;
picker.cameraOverlayView =CGRectMinXEdge;
picker.cameraViewTransform = CGAffineTransformScale(picker.cameraViewTransform, CAMERA_TRANSFORM_X, CAMERA_TRANSFORM_Y);
//picker.cameraViewTransform=CGAffineTransformMakeTranslation(CAMERA_TRANSFORM_X, CAMERA_TRANSFORM_Y);
// Insert the overlay:
//picker.cameraOverlayView = overlay;
// Show the picker:
[self presentModalViewController:picker animated:YES];
[picker release];
[super viewDidAppear:YES];
}
对不起,我的网络很慢,所以错误早些时候.. – 2012-02-27 12:28:50
的链接破 – Eden 2011-09-05 04:48:06
修复了断开的链接。 – Jordan 2011-09-06 13:29:45