如何在按钮单击中启用和禁用uiview的用户交互选项

时间:2012-02-24 06:32:42

标签: objective-c uiview xcode4 uibutton user-interaction

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

1 个答案:

答案 0 :(得分:0)

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

例如,添加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.
        }
    }
}