我有几个UIImageView作为UIView的子视图,充当画布。 ImageViews接收触摸事件,因此我可以移动它们。 如果我平移两个视图,每个视图在每个视图上我可以同时移动两个视图。我不希望这样。
我检查了superview上的maximumNumberOfTouches属性,但它影响了该视图,但它不会阻止每个其他子视图接收到触摸事件。
任何想法如何避免这种行为? 感谢
答案 0 :(得分:1)
如果只设置一个图像视图已经移动的标志,所有视图上的平移手势在实际移动视图之前检查该标志怎么样?只要视图停止移动,就将标志设置为false。
答案 1 :(得分: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;
}
}
完成!