感谢您的阅读,我正在制作一个相机计时器应用程序,当计时器达到 0 时,意味着要拍摄一张照片。然而,事实并非如此。:C。
这里是为我的新控件显示 PickerController 和 Overlay 的代码。(ViewDidLoad 方法加载它还为时过早。)
-(void)viewDidAppear:(BOOL)animated{
overlayView.hidden = false;
imagePicker = [[UIImagePickerController alloc] init];
imagePicker.delegate = self;
[imagePicker setSourceType:UIImagePickerControllerSourceTypeCamera];
[self presentViewController:imagePicker animated:YES completion:NULL];
imagePicker.showsCameraControls = NO;
imagePicker.cameraOverlayView = overlayView;
}
这里是计时器达到 0 并且要拍照的代码。
//cameraTimeInt is the timer//
if(cameraTimeInt ==0){
//timerDisplay is the picture displaying the countdown to 0//
[timerDisplay setImage:NULL];
[imagePicker takePicture];
}
这是您单击“拍照”按钮时的代码。
-(IBAction)takePicture:(id)sender {
cameraTimeInt = timeSlider.value;
NSTimer *timerStart = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timerTickStart:) userInfo:nil repeats:YES];
[[NSRunLoop currentRunLoop] addTimer:timerStart forMode:NSDefaultRunLoopMode];
}
我知道代码有点草率,但如果有人有任何想法,将不胜感激:)
另外我得到的错误是:
CameraTimer[392:907] UIImagePickerController:忽略拍照请求;图像已被捕获或相机尚未准备好。
它似乎正在尝试拍摄两张图像,因为我听到了两次咔嗒声(相机拍摄照片噪音)。