【发布时间】:2012-04-24 14:26:21
【问题描述】:
所以我有一个可变数组,其中包含几个 UIViews 圆圈。 现在我已经开始像这样设置方法了。
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [touches anyObject];
CGPoint touchLocation = [touch locationInView:self.view];
for (Circle *circle in playerOneCircles)
{
if ([circle.layer.presentationLayer hitTest:touchLocation])
{
[circle playerTap:nil];
break;
}
}
}
这很好用。但它给出了重叠视图的问题。 我希望其他 UIviews 也响应 touchesbegan 方法(然后会触发其他方法)。但如果 2 个对象重叠,那么我的 touchesbegan 会触发错误的方法。
所以我想定义多个只响应某些对象而不是任何对象的 UITouch。我如何将 UITouch 定义为仅使用可变数组中的对象?
【问题讨论】:
-
很抱歉,这个问题非常令人困惑。您是否要处理多个触摸,以便同时触摸两个不同的对象来“选择”它们?或者,您是否想要单次触摸“选择”触摸可能“击中”的所有对象?或者两者兼而有之?也许我更困惑,而你也不想要。
-
我会再试一次:我的数组中有圆圈。如果触摸了这些圆圈中的任何一个,我想执行方法 A。如果用户没有触摸任何圆圈(即视图本身),那么我想执行方法 B
标签: objective-c ios nsmutablearray uitouch touchesbegan