버튼을 눌렀을 때 스토리 보드에서 새로운 UIView를로드하는 코드가 있습니다. goPressed 함수는 눌려진 버튼에서 시작되고 selectImage 함수를 호출합니다. selectImage는 UIImagePickerController를 열고 사용자가 사진을 선택할 수있게합니다. 사용자가 사진을 선택하면 didFinishPickingMediaWithInfo 대리자가 선택한 이미지를 UIImageView에 추가합니다.performSegueWithIdentifier가 작동하지 않습니다.
'goPressed'에서 selectImage가 수행 된 후에는 // 1과 같은 주석으로 Segue를 수행해야합니다. 그러나 아무 일도 일어나지 않습니다. performSegueWithIdentifier가 작동하지 않는 것 같습니다. performSegueWithIdentifier를 호출하기 전에 [self selectImage]를 호출하지 않으면 작동합니다. 다음은 코드입니다.
- (IBAction)goPressed:(id)sender {
[self selectImage];
[self performSegueWithIdentifier:@"lastView" sender:currentSender]; //1
}
-(void)selectImage
{
// Create image picker controller
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
// Set source to the camera
imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
// Delegate is self
imagePicker.delegate = (id)self;
// Allow editing of image ?
imagePicker.allowsEditing=NO;
// Show image picker
[self presentModalViewController:imagePicker animated:YES];
}
- (void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
// Access the uncropped image from info dictionary
UIImage *image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
[[picker presentingViewController] dismissModalViewControllerAnimated:YES];
lePreview.image= image;
}
performSegueWithIdentifier가 작동하지 않는 이유는 무엇입니까? 나는 당신이 필요로하는 어떤 정보라도 놓치지 않기를 바란다.
당신은, 그것은 작동 내 포인트를 가지고 : NO를 ...하지만 난 애니메이션을 유지하기 위해 코드를 사용하는 경우, 엑스 코드는 나에게이 오류 제공 : 는 "인스턴스 메시지의 UIView는 선택과 방법을 선언하지 않습니다 dismissmodalviewcontrolleranimated : completion " –
오케이, 새로운 코드를 주사 해주세요. 애니메이션이 각 부분 사이에서 완료되도록 약간의 타임 아웃을 제공합니다. – CocoaEv
어, 이건 못 생겼어! (당신의 솔루션은 아니지만, segue 애니메이션이이 문제를 일으키는 방법). 가장 쉽고 깨끗한 방법은 애니메이션을 비활성화하는 것입니다. 고마워, +1 :) – Jimmy