2014-09-22 6 views
0

그래서 기본적으로보기가 포함 된 .xib 파일을 가지고 있으며 그 안에는 UIImageView 및 UIITextView가있는 scrollview가 있습니다. 나는이 서브뷰에 연결된 아울렛을 가지고있다.UIImageView의 이미지 속성을 설정할 수 없습니다.

어떤 이유로 이미지보기의 이미지 속성을 설정할 수 없습니다. 다음은 내 UITableview 뷰 컨트롤러를 인스턴스화하는 방법입니다.

MyNewViewController *ssv = [[MyNewViewController alloc]initWithNibName:@"MyNewViewController" bundle:nil]; 
[[self navigationController]pushViewController:ssv animated:YES]; 
ScreenshotInfo *currentPic = [pics objectAtIndex:indexPath.row]; 
UIImage * pic = [UIImage imageWithData:currentPic.pic.imageData]; 
ssv.imageView.image = pic; 

// even doing like below does not work 
//ssv.imageView.image = [UIImage imageNamed:@"fbpic.png"]; 

충분하지 않아야합니까?

프로그래밍 방식으로 UIImageView를 추가해도 문제가 해결되지 않습니다.

viewdidload에서 이미지를 설정했지만 첫 번째보기 컨트롤러에서 이미지 데이터를 원합니다.

제안 사항?

+0

'imageView'는 nil입니까? – Larme

+0

'initWithNibName : nil'을 사용해 보셨나요? 펜촉과 클래스의 이름이 똑같은 경우 OS는 올바른 펜촉을 자동으로로드합니다. 가능할 때마다 잠재적 인 오타를 피하십시오. – Clay

+0

예 - imageView는 아무 것도 아니었지만 .... 콘센트에 연결되었으므로 자동으로 인스턴스화해야합니까? 답 추가 Larme ... 너 둘 다 고마워. – Anders

답변

0

ssv.imageView.image = pic에서 프로그램을 실행하면 ssv의 imageView라는 속성이 nil이어야합니다. ssv의 루트보기가로드되지 않았기 때문입니다. 이미지 설정 코드는 하나의 실행 루프에서 실행되는 반면, 뷰 컨트롤러의로드보기는 다음 실행 루프에서 실행됩니다. 이 때문에 이미지를 viewDidLoaded으로 설정하는 것이 좋습니다. 그리고메서드에서 펜촉 뷰의 속성을 설정해야합니다.

관련 문제