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