[英]Action Sheet on front camera not responding
我已經設置了一個操作表,可以在拍照時返回3個選項(拍照,從畫廊中選擇並取消),前置攝像頭出現並完美地拍照,但是問題是當我再次拍照時,它沒有告訴我那張破舊的照相機,它告訴我背面的照相機。 這是代碼:
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
{
CustomImagePickerController *imagePicker = [[CustomImagePickerController alloc] init];
[imagePicker setDelegate:self];
[imagePicker setAllowsEditing:YES];
if(buttonIndex == 0) {
[imagePicker setSourceType:UIImagePickerControllerSourceTypeCamera];
[imagePicker setCameraDevice:UIImagePickerControllerCameraDeviceFront];
} else if(buttonIndex == 1) {
[imagePicker setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
}
我在代碼中還有更多內容,但主要操作已在此處設置。
有什么事嗎 謝謝
發生這種情況的原因是,當您第一次啟動攝像機時,在關閉控制器后,后台的AVCaptureSession
可能會繼續運行。 因此,下次您展示它時,它嘗試添加前置攝像頭,但它很忙,因此轉到下一個可用攝像頭(后置攝像頭),中斷了自身(因此釋放了前一個),依此類推。 如果使用的是ARC,則最好將imagePicker
用作使用它的類的屬性。
或每次檢查相機設備
if(buttonIndex == 0)
{
if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
{
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
[imagePicker setCameraDevice:UIImagePickerControllerCameraDeviceFront];
}
}
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
{
CustomImagePickerController *imagePicker = [[CustomImagePickerController alloc] init];
[imagePicker setDelegate:self];
[imagePicker setAllowsEditing:YES];
if(buttonIndex == 0)
{
if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
{
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
[imagePicker setCameraDevice:UIImagePickerControllerCameraDeviceFront];
}
else
{
imagePicker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
[imagePicker setCameraDevice:UIImagePickerControllerCameraDeviceFront];
}
[self presentViewController:imagePicker animated:YES completion:nil ];
}
else if (buttonIndex==1)
{
imagePicker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
[self presentViewController:imagePicker animated:YES completion:nil ];
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.