2009-04-01 8 views
5

이 코드는 다음과 같습니다.어떻게 UIImageView 이미지를 프로그래밍 방식으로 변경할 수 있습니까?

- (void)viewDidLoad { 
[super viewDidLoad]; 
landscape.image = [UIImage imageNamed:@"tenerife1.png"]; 
} 

먼저 IBOutletUIImageView을 생성했습니다. 풍경이 UIImageView을 가리키고 있습니다. InterfaceBuilder에서는 특정 이미지를 UIImageView에 표시하라고했습니다. 결코 바뀌지 않습니다. 나는 항상 InterfaceBuilder에서 지정한 이미지를 보았습니다. 하지만 프로그래밍 방식으로 설정하고 싶습니다. 어떻게해야합니까?

+0

가 – nduplessis

+0

이 볼 콘센트가 IB에 연결되어 있는지 확인합니다 ----- http://stackoverflow.com/questions/3321374/cocoa -touch-adding-a-uiimageview- 프로그래밍 방식으로 –

답변

1

이 가능한 사용자 정의보기가 설정되어 있지 않은 그 펜촉 파일에요? 나는 똑같은 문제가 있었다. 해당 뷰 컨트롤러에 대한 UIview 하위 클래스를 만들고 Interface Builder에 가서 해당 UIView 하위 클래스에 대한보기를 설정 한 다음 UIView에 대한 가져 오기 헤더를 Controller 클래스에 추가했습니다. 그게 내게 무슨 짓을했는지

4

당신은 이미지를 변경 한 후보기에 setNeedsDisplay를 호출보십시오 :

[landscape setNeedsDisplay]; 
+0

setNeedsDisplay를 호출 할 필요가 없습니다. – nduplessis

+0

나는 그렇게 생각하지 않았지만 똑같은 일을하는 코드를보고있었습니다. setNeedsDisplay를 호출하는 중입니다. 아마 불필요한 것이지만, 그냥 거기에 던져 넣었습니다. –

2

이 코드를 추가하기를, 그것은 당신을 도울 수 있습니다

-(void)viewDidAppear:(BOOL)animated 
{ 
landscape.image = [UIImage imageNamed:@"tenerife1.png"]; 
} 
1

ImageBuilder에서 ImageView와 File 's Owner 간의 연결을 잊지 마라.

당신이 그 후 필요할 때만입니다 :

landscape.image = [UIImage imageNamed:@"tenerife1.png"]; 
관련 문제