2013-08-02 1 views
0

이미지보기를 만드는 방법에 문제가 있습니다. 버튼과 같은 방식으로 동작합니다.이미지보기 버튼처럼 iPhone에서 클릭 가능

Ex. 내 .h 파일에서.

-(IBAction)ClickTheImage:(id)sender; 

. .m 파일.

-(void)ClickTheImage:(id)sender 
{ 
//something to do with image click. 
} 

하지만 난 내 XIB 파일에 IBAction를 연결하려고 할 때 난 내있는 UIImageView에 연결을 시도 할 때,의 속삭임이 발생합니다. 이 작업을 수행하는 방법에 대한 아이디어가 있습니까?

+0

왜 UIButton을 사용하여 imageView를 사용하고 싶습니까? – iProgrammer

답변

0

다른 방법으로 만들 수 있습니다. UIButton을 만들고 ImageView를 UIButton의 배경 이미지로 정의하십시오. 그러면 IBAction과 UIButton 사이의 연결이 작동합니다 ..

[button setBackgroundImage:buttonImage forState:UIControlStateNormal]; 

또는 왜 다른 방법으로 사용하고 싶습니까?

2

이미지보기에서 userInteractionEnabled ~ YES으로 설정했는지 확인하십시오. 그런 다음 생성하고 다음과 같이 제스처 인식기를 추가

UITapGestureRecognizer* tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(ClickTheImage:)]; 
[self.imageView addGestureRecognizer:tapRecognizer]; 
self.tapRecognizer.delegate = self; 

는 클래스가 너무 UIGestureRecognizerDelegate을 준수합니다.

0

단순히 UITapGestureRecognizer가

.H 파일에 GestureRecognizerDelegate을 추가 사용합니다. ImageView가 * img라고 가정합니다.

UITapGestureRecognizer *TapRecognizer=[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(ImageHasTouched:)]; 
[TapRecognizer setDelegate:self]; 
[img setUserInteractionEnable:YES]; 
[img addGestureRecognizer:TapRecognizer]; 


-(void)ImageHasTouched:(TapGestureRecognizer *)Recognizer 
{ 
    UIImageView *TouchedImage=(UIImageView *)[[Recognizer self] view]; 
    //Now when ever your image will be touched this method will get fired. 
    // do what ever you want 
}