2012-11-16 2 views
0

SecondView 컨트롤러에서 이미지를 저장하고 크기를 조정합니다.
그런 다음 Firstview 컨트롤러로 돌아 가면이 컨트롤러의 Button 이미지는 방금 저장 한 이미지 파일에서로드 할 입니다.SecondViewController를 닫을 때 firstViewController의 UIButton이 이미지를 올바르게 변경하지 않습니다.

이미지가 부분적으로 표시됩니다 (이미지의 상단 부분 만 표시). 그러나 다시 SecondViewController로 이동하여 이미지를 다시 저장하지 않고 첫 번째 ViewController로 돌아 가면 Button 이미지가 완전히 나타나고 좋아 보인다.

- (void)showImageFirst { 

    //Show thumb image in button. 

    NSArray *sysPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *docDirectory = [sysPaths objectAtIndex:0]; 
    NSString *filePath = [NSString stringWithFormat:@"%@/thumbtest.png", docDirectory]; 
    UIImage *tempimage = [[UIImage alloc] initWithContentsOfFile:filePath]; 

    [imageForButton setImage:tempimage forState:UIControlStateNormal]; 
} 

는 내가있는 viewDidLoad에 전화를하고 또한 ViewDidAppear에 넣어 시도 :

-(void)viewWillAppear { 
    [self.showImageFirst]; 
    [super viewWillAppear:animated]; 
} 

답변

0

당신은 첫 번째보기 컨트롤러 두 번째의 대리자 만들 수 있습니다.

그런 다음 이미지를 디스크에 저장 한 다음 디스크에서 다시로드하는 대신 UIImage를 두 번째보기 컨트롤러에서 첫 번째보기 컨트롤러로 다시 전달합니다.

체크하지 않았지만 디스크에 이미지 저장이 비동기 적으로 실행되어 이미지를 다시로드하려고 할 때 이미지가 저장되지 않을 가능성이 거의 확실합니다.

+0

감사합니다. 좋은 생각! 나는 1에서 2 액션을 수행했고 (보기가 segued되었을 때 저장되고 위임 됨) 이드는 작동하지 않았다!) 이제 괜찮아!)) –

+0

Nice :) 우아하게 작동하는 무언가를 얻을 때 더 좋아해서 적은 코드로 더 많은 것을 할 수 있습니다. – Fogmeister

관련 문제