gpt4 book ai didi

iphone - UIImagePickerController takePicture 没有调用任何委托(delegate)方法

转载 作者:行者123 更新时间:2023-12-03 20:53:04 25 4
gpt4 key购买 nike

我正在创建一个示例应用程序,允许使用自定义按钮捕获图像和录制视频。我创建了 UIImagePicker Controller 的实例并分配委托(delegate),一切都已完成,但 takePicture 没有调用委托(delegate)方法。

我也引用了一些帖子UIImagePickerController takePicture not respondingUIImagepickerController [takepicture] modal view disappears no delegate callback但没有得到我的解决方案。

这是我的代码。如果我遗漏了什么,请告诉我:

- (void)viewDidLoad {
[super viewDidLoad];

self.navigationController.navigationBar.hidden = YES;
imagePicker = [[UIImagePickerController alloc] init];
[imagePicker setSourceType:UIImagePickerControllerSourceTypeCamera];
[imagePicker setAllowsEditing:NO];

[imagePicker setMediaTypes:[NSArray arrayWithObject:@"public.movie"]];
[imagePicker setCameraCaptureMode:UIImagePickerControllerCameraCaptureModeVideo];

[imagePicker setShowsCameraControls:NO];
[imagePicker setToolbarHidden:YES];
[imagePicker setDelegate:self];
UIView *overlayView = [[UIView alloc] initWithFrame:[[imagePicker view]frame]];
[overlayView setBackgroundColor:[UIColor clearColor]];

UIButton *btnCapture = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[btnCapture setFrame:CGRectMake(0, overlayView.frame.origin.y + overlayView.frame.size.height - 35, 30, 30)];
[btnCapture setTitle:@"c" forState:UIControlStateNormal];
[btnCapture addTarget:self action:@selector(captureFrame:) forControlEvents:UIControlEventTouchUpInside];

UIButton *btnStopVideo = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[btnStopVideo setFrame:CGRectMake(40, overlayView.frame.origin.y + overlayView.frame.size.height - 35, 30, 30)];
[btnStopVideo setTitle:@"s" forState:UIControlStateNormal];
[btnStopVideo addTarget:self action:@selector(btnStopTapped:) forControlEvents:UIControlEventTouchUpInside];

[overlayView addSubview:btnStopVideo];
[overlayView addSubview:btnCapture];
[imagePicker setCameraOverlayView:overlayView];

[self presentModalViewController:imagePicker animated:NO];



}

- (void)captureFrame:(id)sender {
[imagePicker takePicture];
}

但是委托(delegate)方法:- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 未被调用。

请帮我解决这个问题。

感谢大家

最佳答案

只需添加这一行

    picker.showsCameraControls = NO;

关于iphone - UIImagePickerController takePicture 没有调用任何委托(delegate)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8754715/

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