0

我正在尝试Ipad使用手势识别器实现应用程序。在我的应用程序中有一些小 的UIView,每个UIView都有一个子视图(UIButton)。我的需要是,如果单击一个按钮,super view该按钮的用户交互选项将变为 YES,其他视图userinteraction选项将变为 NO。实现后,超级视图凌驾于子视图之上(即如果一个视图的用户交互选项变为NO,这将影响子视图)。如何避免上述问题?

4

1 回答 1

0

好吧,假设您在故事板或 xib 文件中设置了预定义数量的视图和子视图,您可以为每个视图添加一个属性。然后使用手势识别器来确定用户是否点击了视图。如果他们这样做了,您可以使用您设置的属性将相应的启用视图属性设置为“是”或“否”。

例如,添加一个 IBAction 来检测您的手势识别器,该识别器执行类似于以下操作:

- (IBAction)tap:(UITapGestureRecognizer *)gesture
{
    CGPoint tapLocation = [gesture locationInView:self.aViewWhereYouMonitorGestures];
    for (UIView *view in self.aViewWhereYouMonitorGestures.subviews) {
        if (CGRectContainsPoint(view.frame, tapLocation)) {
            self.someView.enabled = YES; // or NO depending on what you want to do.
        }
    }
}
于 2012-02-24T06:42:45.530 回答