gpt4 book ai didi

ios7 - 使用 UIImagePickerController 相机时如何禁用预览屏幕

转载 作者:行者123 更新时间:2023-12-03 17:50:24 30 4
gpt4 key购买 nike

在 iOS7 中,内置相机应用程序在拍照后不会进入预览屏幕,UIImagePicker 有什么办法可以这样做。

UIImagePickerController * imagePicker = [[UIImagePickerController alloc] init];
imagePicker.delegate = self;
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
imagePicker.cameraFlashMode = UIImagePickerControllerCameraFlashModeOff;

我知道另一种解决方案是使用 AVFoundation 类创建自定义相机,但这超出了我目前的知识范围,我真的很喜欢默认相机的外观。

更新

因此,经过更多研究后,我发现我可以创建自己的快门按钮并将其设置为相机叠加层。这是我所做的
UIButton *shutter = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[shutter addTarget:self action:@selector(shootPicture) forControlEvents:UIControlEventTouchUpInside];
[shutter setTitle:@"S" forState:UIControlStateNormal];
shutter.frame = CGRectMake(50, 50, 60, 60);

UIView *layoutView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
layoutView.opaque = NO;
layoutView.backgroundColor = [UIColor clearColor];
[layoutView addSubview:shutter];

对于“shootPicture”方法
- (void) shootPicture
{
[picker takePicture];
[self imagePickerController:self.camCtl didFinishPickingMediaWithInfo:nil];
}

如果我只是让选择器调用“takePicture”,我仍然会得到预览,所以我强制选择器在拍照后立即调用 didFinishPickingMediaWithInfo。结果是我没有看到预览屏幕,但是我也没有看到图片。我知道我在 didFinishPickingMediaWithInfo 中放了 'nil' 因为我不知道在这一点上放什么。我也知道它拍了一张照片在某个地方的缓存中,但我真的不知道如何获得它。

任何想法将不胜感激=)

最佳答案

这个解决方案对我有用:

self.pickerController.allowsEditing = false

关于ios7 - 使用 UIImagePickerController 相机时如何禁用预览屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22739424/

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