-1

我如何以编程方式选择 UIView 的子视图。

Senario:考虑一个 UIView 有 10 个 UIImageViews 作为子视图添加在它上面。我如何通过手势选择其中的 5 个?用户在 iPad 上选择这 5 个 UIImageView 的手势可能是什么?我如何以编程方式捕获选择?

请帮忙,

谢谢你,苏塞。

4

1 回答 1

0

这是一个解决方案。你可以声明一个 NSMutableArray,比如 lastChosenViews。

  NSMutableArray *lastChosenViews;

(当然,您需要在某个地方分配和初始化它,可能在 viewDidLoad 或 viewWillAppear 方法中)。

然后你可以使用 touchesEnded 方法将被触摸的视图添加到 lastChosenViews 数组中。

 - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{
     UITouch *touch=[touches anyObject];
     if ([lastChosenViews count]==5)
        [lastChosenViews removeObjectAtIndex:0];
     [lastChosenViews addObject:touch.view];
 }

然后你可以在任何你想要的地方使用 lastChosenViews 数组。

PS如果需要,您还可以检查 touch.tapCount。对于特殊手势,使用 UIGestureRecognizer 子类 UIPinchGestureRecognizer,UIRotationGestureRecognizer,UISwipeGestureRecognizer,UIPanGestureRecognizer UILongPressGestureRecognizer

于 2011-12-29T08:18:25.860 回答