我如何以编程方式选择 UIView 的子视图。
Senario:考虑一个 UIView 有 10 个 UIImageViews 作为子视图添加在它上面。我如何通过手势选择其中的 5 个?用户在 iPad 上选择这 5 个 UIImageView 的手势可能是什么?我如何以编程方式捕获选择?
请帮忙,
谢谢你,苏塞。
我如何以编程方式选择 UIView 的子视图。
Senario:考虑一个 UIView 有 10 个 UIImageViews 作为子视图添加在它上面。我如何通过手势选择其中的 5 个?用户在 iPad 上选择这 5 个 UIImageView 的手势可能是什么?我如何以编程方式捕获选择?
请帮忙,
谢谢你,苏塞。
这是一个解决方案。你可以声明一个 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