2012-04-11 67 views
0

我有11个UIView,每个都设置了一个手势识别器。这个UIView在可变数组中,每个都有一个标签。如何将UIView的标签传递给方法选择器?如何将UIView的标签传递给方法选择器?

viewIcone.userInteractionEnabled = YES; 
viewIcone.tag = index;  

UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(touchUp:)]; 
tap.delegate = self; 
[viewIcone addGestureRecognizer:tap]; 
[self.arrayMutabile insertObject:viewIcone atIndex:index]; 

[self addSubview:viewIcone]; 

方法选择器的实现是:

-(void) touchUp: (UITapGestureRecognizer *) gestureRecognizer{ 

    NSInteger tag = [self.arrayMutabile indexOfObject:self.viewIcone]; 
    NSLog(@"the tag is %d", tag); 
} 

我总是留下10错误在哪里? 在此先感谢

回答

0

的UITapGestureRecognizer有它继承了它的父视图属性:

http://developer.apple.com/library/ios/#documentation/uikit/reference/UIGestureRecognizer_Class/Reference/Reference.html#//apple_ref/occ/cl/UIGestureRecognizer

The view the gesture recognizer is attached to. (read-only) 

@property(nonatomic, readonly) UIView *view 
Discussion 
You attach (or add) a gesture recognizer to a UIView object using the addGestureRecognizer: method. 

Availability 
Available in iOS 3.2 and later. 
Declared In 
UIGestureRecognizer.h 

这将是被窃听的观点,你可以从那里获取的标签。

+0

这个帮助吗?如果是这样,你应该接受答案,如果没有,我可以扩展它。 – Diziet 2012-04-12 08:27:22