2013-02-05 2 views
0

UIScrollView.I에 대한 터치 이벤트를 얻는 방법 UIViewController가 있으며 viewViewroller에 scrollView를 배치했습니다. scrollView에 imageViews를 추가해야하고 특정 이미지를 클릭하면 해당 viewController로 리디렉션해야합니다. . UIViewController에 터치 이벤트를 추가하는 방법을 알고있었습니다. 그러나 scrollView에서는 작동하지 않습니다.UIScrollView에 대한 Touches 이벤트

-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    UITouch *touch= [touches anyObject]; 
    if ([touch view] == img1) 
    { 

     ViewController2 *viewController2=[[ViewController2 alloc]initWithNibName:@"ViewController2" bundle:nil]; 
     [self presentViewController: viewController2 animated:YES completion:nil]; 



    } 
} 

어떻게하면 scrollView에 대한 이벤트가 발생합니까?

+0

http://stackoverflow.com/questions/14785395/dismissing-the-keyboard-from-a-uitextfield-uitextview-as-a-subview-of :

는 탭 제스처 인식기 설정 -uiscrollvi/14788474 # 14788474 – Rajneesh071

답변

0

사용자 지정 UIScrollView 사용자 지정 UIScrollViewUIScrollView의 하위 클래스가 될 수 있습니다.

또한 더 많은 옵션을 위해 아래처럼 this

+0

어떻게 말해 줄 수 있습니까? 내가 준 링크를 참조했는데 하위 클래스를 만들었습니까?보기의 모든 이벤트가 있습니다. –

+0

@NikhatAfshan : 1. UIScrollView 서브 클래스를 만듭니다 2. 오버라이드 터치 종료 방법 – Rushi

+0

@NikhatAfshan : 이것을 확인하십시오 http://iphonedevsdk.com/forum/iphone-sdk-development/6686-uiscrollview-wont-respond-to-touch-event-scrolls-pans-but-tochesshouldbegin-ne. html – Rushi

0

설정 것을 확인할 수 있습니다

UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(singleTapGestureCaptured:)]; 
[scrollView addGestureRecognizer:singleTap];  

and you get the touch in: 

- (void)singleTapGestureCaptured:(UITapGestureRecognizer *)gesture 
    { 
    CGPoint touchPoint=[gesture locationInView:scrollView]; 
    } 
+0

예. 터치 포인트 (너비와 높이)를 얻을 수 있습니다. 말해 줄 수 있습니까? 터치 된 이벤트가 image1 또는 image2 인 경우 어떻게받을 수 있습니까? –

0

당신은 ScrollViewDelegate를 사용하고있는 ScrollView 스크롤 이벤트를 얻기위한 기능 "ScrollViewDidScroll"를 사용할 수 있습니다.

UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(singleTapGestureCaptured:)]; 
[scrollView addGestureRecognizer:singleTap]; 



- (void)singleTapGestureCaptured:(UITapGestureRecognizer *)gesture 
    { 
    CGPoint touchPoint=[gesture locationInView:scrollView]; 
    } 
+0

예. 터치 포인트 (너비와 높이)를 얻을 수 있습니다. 말해 줄 수 있습니까? 터치 된 이벤트가 image1 또는 image2 인 경우 어떻게받을 수 있습니까? –

+0

당신은 X 축과 Y 축을 얻을 것이고 그 위치에 따라 이미지 1 또는 이미지 2 중 어떤 위치에 있는지 알 수 있습니다. –

+0

클릭하면 x = 283 및 y = 228이됩니다. 이미지의 가운데를 클릭합니다. 이미지의 왼쪽을 클릭하면 다른 위치를 얻게됩니다. 어떻게 어떤 영역의 이미지를 비교할 수 있습니까? –

관련 문제