0

我有几个 UIImageView 作为 UIView 的子视图,它们充当画布。ImageViews 接收触摸事件,所以我可以移动它们。如果我平移两个视图,每个手指都可以同时移动两个视图。我不想要那个。

我检查了 superview 上的 maximumNumberOfTouches 属性,但它会影响该视图,但它不会阻止每个其他子视图接收触摸事件。

任何想法如何避免这种行为?谢谢

4

2 回答 2

1

如何设置一个图像视图已经在移动的标志,并且所有视图上的平移手势在实际移动它们的视图之前检查该标志?一旦视图停止移动,只需将标志设置为 false。

于 2012-04-18T12:43:15.750 回答
0

您可以这样做,将 UIImageView 扩展为自定义 UIView 可能称为 YouImageView

在触摸事件中

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    for ( UIView *v in self.superview.subviews )
    {
        if ( v != self )
        {
            v.userInteractionEnabled = NO;
        }
    }

}

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
    for ( UIView *v in self.superview.subviews )
    {
        v.userInteractionEnabled = YES;
    }

}

完毕!

于 2012-04-18T14:37:06.407 回答