2014-02-05 2 views
0

내 앱을 사용하면 사용자가 카메라 롤에서 사진을 선택하거나 사진을 찍을 수 있습니다. 앱에서 사진을 로컬에 저장 한 후 다음보기 컨트롤러로 이동하여 저장 및 표시 한 이미지를로드합니다. 이미지 뷰.이미지가 올바르게 앱에로드되지 않습니다.

이것은 사용자가 원했던 이미지를 가져 와서 내 그림 전송 방법으로 보낸 코드입니다.

UIImage *image = info[UIImagePickerControllerEditedImage]; 
[self saveImage:image]; 
[picker dismissViewControllerAnimated:NO completion:NULL]; 
[self performSegueWithIdentifier:@"switch" sender:nil]; 

은 이것이다 : 그것은 이미지가 저장된 인쇄 때문 코드가 실행

-(void)saveImage: (UIImage*)image{ 
     NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory, NSUserDomainMask, YES); 
     NSString *documentsDirectory = [paths objectAtIndex:0]; 
     NSString* path = [documentsDirectory stringByAppendingPathComponent:@"test.png"]; 
     NSData* data = UIImagePNGRepresentation(image); 
     [data writeToFile:path atomically:YES]; 
     printf("image saved"); 
    } 

. 응용 프로그램은 다음보기로 이동이 내가 내 viewDidLoad에 설정하는 방법입니다 : 내가 시도했지만 그 작품도 한 두 가지를 주석

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    //[imageViewPreview setImage:self.secondImage]; 
    //imageViewPreview.image = self.secondImage; 
} 

합니다. 이것이 내가 secondImage를로드하려고하는 방법입니다.

-(UIImage*)secondImage{ 
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory, NSUserDomainMask, YES); 
    NSString *documentsDirectory = [paths objectAtIndex:0]; 
    NSString* path = [documentsDirectory stringByAppendingPathComponent:@"test.png"]; 
    UIImage* image = [UIImage imageWithContentsOfFile:path]; 
    printf("image loaded"); 
    return image; 
} 

무엇이 잘못 되었습니까?

+0

당신이 시도 되세요'[imageViewPreview setImage : secondImage] [자기] 다음 prepareForSegue에서이 같은 이미지를 설정'대신'imageViewPreview.image = self.secondImage'의? –

+0

@ Unkn0wn.Bit 그것은 같은 것이되어야합니다. – rckoenes

+0

예, 동일해야합니다. –

답변

1

훨씬 간단해야합니다. 두 번째보기 컨트롤러에서 공개 UIImage 속성을 추가하십시오. 그런 다음 두 번째 컨트롤러를 첫 번째 컨트롤러로 가져옵니다.

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    if ([segue.identifier isEqualToString:@"switch"]) { 
     ClassOfDEstinationController *destinationController = segue.destinationViewController; 
     destinationController.image = image; 
    } 

} 
+0

와우 드디어 정말 고마워! –

+0

문제 없음 :). 저에게 체크 표시를 해주십시오. – Mika

관련 문제