我有几个 UIImageView 作为 UIView 的子视图,它们充当画布。ImageViews 接收触摸事件,所以我可以移动它们。如果我平移两个视图,每个手指都可以同时移动两个视图。我不想要那个。
我检查了 superview 上的 maximumNumberOfTouches 属性,但它会影响该视图,但它不会阻止每个其他子视图接收触摸事件。
任何想法如何避免这种行为?谢谢
我有几个 UIImageView 作为 UIView 的子视图,它们充当画布。ImageViews 接收触摸事件,所以我可以移动它们。如果我平移两个视图,每个手指都可以同时移动两个视图。我不想要那个。
我检查了 superview 上的 maximumNumberOfTouches 属性,但它会影响该视图,但它不会阻止每个其他子视图接收触摸事件。
任何想法如何避免这种行为?谢谢
如何设置一个图像视图已经在移动的标志,并且所有视图上的平移手势在实际移动它们的视图之前检查该标志?一旦视图停止移动,只需将标志设置为 false。
您可以这样做,将 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;
}
}
完毕!