处理多个子视图中的触摸事件

时间:2014-03-25 13:12:50

标签: ios objective-c uiview uiviewcontroller

我是iOS开发的新手。我有一个自定义绘制视图,它由覆盖屏幕上目标区域的多个子视图组成。具体来说,这是一个像国际象棋这样的棋盘游戏,我使用了每个方块的视图。方块在UIView上创建为子视图。这有一个UIViewController。从我读到的内容来看,我必须在我的UIView中使用touchesBegan,touchesEnded等来处理这些问题。但这些功能都没有被调用。我在基本视图和所有子视图上添加了这些调用。所以 -

  1. 如何在iOS模拟器中模拟这些触摸事件?鼠标单击不会调用任何视图上的touchesBegan,touchesEnded调用。

  2. 理想情况下,我想在UIViewController中处理这些,因为我想通过一些逻辑运行触摸。那可能吗?我如何实现它?

3 个答案:

答案 0 :(得分:1)

请参阅THIS 它是Apple示例代码中的教程,它描述了如何非常好地处理触摸。 只需运行示例代码并通过描述,您将清楚地了解触摸如何在iOS上工作。

答案 1 :(得分:1)

当我以编程方式添加视图而不是通过故事板时,默认情况下userInteractionEnabled变量设置为NO。设置完成后,我会在视图中调用touchesEnabled调用。

答案 2 :(得分:0)

检查一下:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    UITouch *touch = [touches anyObject];
    if(![touch.view isKindOfClass:[yourView class]])
    {
    }
}

希望这会有所帮助。