从可变数组中触摸对象

时间:2010-12-19 14:11:42

标签: objective-c ios4

我创建了一些按钮,并将它们保存在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,用于检查是否可以执行操作。 之后我想检查所有物体是否被触碰。

怎么了? 提前谢谢。

1 个答案:

答案 0 :(得分:0)

触摸开始是一种视图方法,而不是视图控制器方法。您正在使用     locationInView:self.view 这应该是     locationInView:自

检查此代码是否在视图子类中,而不是视图控制器子类。

此外,您可能需要使用     [self convertRect:[menuButton bounds] fromView:menuButton]; 将CGRect转换为适当的坐标空间。