我创建了一些按钮,并将它们保存在NSMutableArray中。
在它们出现的视图中,有一些简单的sdk方法可以处理触摸。
问题是从MutableArray中完全触及这些对象而没有其他任何东西。 这是方法touchesBegan:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
if (isEarthquake == NO) {
for (UITouch *touch in touches) {
for (int i = 0; i < 9; i++) {
UIButton *menuButton;
menuButton = [menuButtons objectAtIndex:i];
if (CGRectContainsPoint([menuButton frame], [touch locationInView:self.view])) {
[self startTouchTimer:3.00];
}
}
}
}
isEarthquake是一个简单的bool,用于检查是否可以执行操作。 之后我想检查所有物体是否被触碰。
怎么了? 提前谢谢。
答案 0 :(得分:0)
触摸开始是一种视图方法,而不是视图控制器方法。您正在使用 locationInView:self.view 这应该是 locationInView:自
检查此代码是否在视图子类中,而不是视图控制器子类。
此外,您可能需要使用 [self convertRect:[menuButton bounds] fromView:menuButton]; 将CGRect转换为适当的坐标空间。