检测子视图上的触摸

mol*_*lle 9 iphone cocoa-touch touch uiview

我有Viewcontroller两个UIViews,一个名字textureView和一个objectView.

当我只有一个视图时,我使用这个来检测触摸:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    NSArray *allTouches = [touches allObjects];

    for (UITouch *touch in allTouches)
    {
        gestureStartPoint = [touch locationInView:self.view];
            if([touch view] == controlUIImageview){
                   NSLog(@"TOUCH DETECT");
                }
        }
}
Run Code Online (Sandbox Code Playgroud)

我怎样写这部分,如果我在一些事情要与之交互textureView有的在objectView

我是否需要设置textureViewcontrolViewsetUserInteractionEnabled:TRUE

谢谢!

akn*_*new 6

其他方法:

        gestureStartPoint = [touch locationInView:self.view];
        if(CGRectContainsPoint(textureView.frame, gestureStartPoint)){
            ...
        }
        if(CGRectContainsPoint(objectView.frame, gestureStartPoint)){
            ...
        }
Run Code Online (Sandbox Code Playgroud)


rpt*_*thi 1

是的,你需要这样做,如果你想检测任何视图上的触摸,你需要 setUserInteractionEnabled:TRUE,或者在 IB 中启用(如果你要从 IB 添加视图)。