런타임에 이미지를 배경으로 설정하려고 했으므로 Interface Builder에서 으로 UIImageView
'backGroundImage'를 만들었습니다. 다음 코드 그러나 :UIImageView setImage가 IBOutlet에서 작동하지 않습니다.
UIImage *image = [UIImage imageNamed:imageName];
NSLog(@"image=nil %d",(image ==nil));
NSLog(imageName);
[self.backGroundImage setImage:image];
NSLog(@"backgroundImage=nil %d",(self.backGroundImage.image ==nil));
이 나에게주는 그래서 기본적으로 내 이미지를로드 할 수 있습니다 NSLogs
2012-06-15 12:09:43.967 iElster[1960:207] image=nil 0
2012-06-15 12:09:43.967 iElster[1960:207] bedroom-sketch-corel-eps-vector-art-1141.jpg
2012-06-15 12:09:43.968 iElster[1960:207] backgroundImage=nil 1
다음,하지만 난 UIImageView
의 이미지로 설정할 수 없습니다. 나는 다음 줄 내 backGroundImage.image
에 대해 더 이상 '무'를하지 않는
backGroundImage = [[UIImageView alloc]init];
을 포함하는 경우 - 그러나이 경우 나는 분명히 더 이상 출구에 의해 생성 된 UIImageView
를 사용하지 마십시오. 위의 코드에서 문제가 보이지 않습니다. 비슷한 스택 오버플로 스레드의 제안 사항이 정확히 동일하기 때문에 "setImage 메서드 사용"; 어떤 아이디어가 문제 일 수 있습니까?
PS : - 다른 이미지 (.png와 .jpg)를 사용해 보았습니다. 내 ScrollView
에 대한 하위 뷰로 설정하면되지만 위 코드에서 사용하려고하면 표시되지 않습니다. 따라서 이미지 파일에 문제가 없어야합니다.
코드에서 IB의 UIImageView를 IBOutlet에 '연결'하는 것을 잊어 버린 것 같습니다. 그럴까요? –
나는 제대로 @synthesized 가지고 있고 Ctrl 키를 + IB (내가 실제로 두 번 여러 가지 방법을 여기에 게시하기 전에 여러 번 확인했습니다)에 의해 IBOutlet UIImageView 연결할 않았다 –
다음 줄을 넣으십시오 :'NSLog (@ self.backGroundImage는 nil입니다 : % @ ", self.backgroundImage? @"NO ": @"YES "); 그리고'backGroundImage = [[UIImageView alloc] init];을 버리십시오. 한 가지 더 : ** 어떤 메소드에서이 코드를 사용합니까 ** ** –