2012-10-22 107 views
1

我有一个视图,其中我有一个滚动视图。我想检测触摸开始,移动等方法。我使用这些方法。这些方法在滚动视图外部正常工作,但不起作用scrollview.Tell我为什么它不工作,什么是解决方案。在子视图中触摸检测

+0

有你加上'scrollView.userInteractionEnabled = YES,默认情况下为''UIScrollView' – Venkat

+0

@Unknown,'userInteractionEnabled = YES'。 – Hemang

+0

是的,用户交互是默认启用的。 –

回答

1

你必须子类UIView(as MyUIView)并实现touch委托。

然后MyUIView添加到UIScrollView的

如:

@interface MyUIView : UIViewController { 

    } 
    @end 

    @implementation MyUIView 

     //implement touch delegate here 
    } 

加入这一行的主视图

MyUIView *myUIView = [[MyUIView alloc] init]; 
myUIView.userIntarctionEnabled = YES; 
[yourScrollView addSubView:myUIView.view]; 

注意:您可以使用UIGustures代替子类。 UIGestureRecognizer类可用于帮助检测和响应iOS设备上常见的各种UI手势。

+0

这个类是视图控制器,我通过故事板做了同样的处理。 –

+0

我也使用了UIGustures,但他们将无法帮助我检测移动,开始等。 –

+0

然后将子类UIViewController和UIViewController.view作为子滚动条的子视图 –

0

使用convertPoint: toView:方法。

CGPoint *point = [yourView convertPoint:touchPoint toView:yourScrollView]; 
+0

对不起,我无法理解。 –