gpt4 book ai didi

ios - 如何使用全屏图像 ios 创建自定义 UIImagePickerController

转载 作者:可可西里 更新时间:2023-11-01 03:47:22 27 4
gpt4 key购买 nike

我有一个简单的 UIImagePickerController,它将使用相机拍照,但我希望它做几件事:

  • 拥有自定义相机用户界面
  • 采用全屏而不是 480x640(如果是 4 英寸手机)

这是我显示 UIImagePickerController 的代码:

- (IBAction)pick:(id)sender {
NSLog(@"abc");
picker = [[UIImagePickerController alloc] init];
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
[picker setSourceType:UIImagePickerControllerSourceTypeCamera];
} else {
[picker setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
}
[picker setDelegate:self];
[self presentViewController:picker animated:YES completion:nil];

}

这是拍摄图像的时间:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
[self dismissViewControllerAnimated:YES completion:nil];
UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
[imageView setImage:image];
}

我该怎么做?

谢谢

最佳答案

对于第一个要点,我想您可以使用 UIImagePickerController 对象的 cameraOverlayView 属性在选择器默认界面上添加您的自定义 UI:

- (IBAction)pick:(id)sender {
NSLog(@"abc");
picker = [[UIImagePickerController alloc] init];
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
[picker setSourceType:UIImagePickerControllerSourceTypeCamera];
} else {
[picker setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
}

// Add here your custom UI here
[picker setCameraOverlayView:self.customCameraOverlayView];

[picker setDelegate:self];
[self presentViewController:picker animated:YES completion:nil];

}

编辑

我已经测试了 UIImagePickerController,它返回了完整尺寸的图像(PixelXDimension 和 PixelYDimension):

 UIImagePickerControllerMediaMetadata =     {
DPIHeight = 72;
DPIWidth = 72;
Orientation = 6;
"{Exif}" = {
ApertureValue = "2.526068811667588";
BrightnessValue = "-0.5779073354035674";
ColorSpace = 1;
DateTimeDigitized = "2013:04:07 22:30:03";
DateTimeOriginal = "2013:04:07 22:30:03";
ExposureMode = 0;
ExposureProgram = 2;
ExposureTime = "0.05882352941176471";
FNumber = "2.4";
Flash = 24;
FocalLenIn35mmFilm = 35;
FocalLength = "4.28";
ISOSpeedRatings = (
800
);
MeteringMode = 3;
PixelXDimension = 3264;
PixelYDimension = 2448;
SceneType = 1;
SensingMethod = 2;
ShutterSpeedValue = "4.058893689053568";
SubjectArea = (
1874,
1478,
610,
612
);
WhiteBalance = 0;
};
"{TIFF}" = {
DateTime = "2013:04:07 22:30:03";
Make = Apple;
Model = "iPhone 4S";
Software = "6.1.3";
XResolution = 72;
YResolution = 72;
};
};

编辑

您还可以将内容模式设置为 ImageView 以调整大小并适合容器 View :

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
[self dismissViewControllerAnimated:YES completion:nil];
UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
[imageView setContentMode:UIViewContentModeScaleAspectFill];
[imageView setImage:image];
}

然后使用 auto layoutauto 根据需要在考虑设备屏幕(4 英寸或非 4 英寸)的 View Controller 中适应 imageView sizing

关于ios - 如何使用全屏图像 ios 创建自定义 UIImagePickerController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15865368/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com