2013-10-31 23 views
6

tôi đã tạo ra động UIimage xem và và UITapGestureRecognizer đến xem hình dáng của nó như thế nàyqua tham số để UITapGestureRecognizer

UIImageView *image = [[UIImageView alloc ] initWithFrame:CGRectMake(x, 0, 200, 150)]; 
     NSString *ImageURL = [str objectForKey:@"imageLink"]; 
     NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:ImageURL]]; 
     image.image = [UIImage imageWithData:imageData]; 

     UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapDetected:)]; 

     singleTap.numberOfTapsRequired = 1; 
     image.userInteractionEnabled = YES; 

     [image addGestureRecognizer:singleTap]; 

     [documentory addSubview:image]; 

và phương pháp hành động của tôi như thế này

-(void)tapDetected:(UIGestureRecognizer *)recognizer{ 
    NSLog(@"single Tap on imageview"); 

} 

tôi muốn vượt qua một chuỗi các thông số để khai thác phương pháp được phát hiện có thể cho tôi biết làm thế nào để làm điều này cảm ơn bạn rất nhiều

+0

những gì bạn cần phải vượt qua không? – Balu

+0

Tôi không chắc chắn chúng tôi có thể thêm tham số vào thuộc tính gestureRecognizer. Bạn muốn lấy một chuỗi từ phần tử nào? – zbMax

+0

lấy một biến toàn cầu và thay đổi giá trị của biến đó theo ý muốn của bạn. – Balu

Trả lời

15

Bạn có thể mở rộng một UITapGestureRecognizer để đựng nhiều dữ liệu hơn:

// MYTapGestureRecognizer.h 

@interface MYTapGestureRecognizer : UITapGestureRecognizer 

@property (nonatomic, strong) NSString *data; 

@end 


// MYTapGestureRecognizer.m 

@implementation MYTapGestureRecognizer 

@end 


// ===================== 

.... 

MYTapGestureRecognizer *singleTap = [[MYTapGestureRecognizer alloc] initWithTarget:self action:@selector(tapDetected:)]; 

singleTap.data = @"Hello"; 

..... 


// ==================== 

-(void)tapDetected:(UITapGestureRecognizer *)tapRecognizer { 

MYTapGestureRecognizer *tap = (MYTapGestureRecognizer *)tapRecognizer; 

NSLog(@"data : %@", tap.data); 

} 
+0

Tuyệt vời. Chính xác những gì tôi đang tìm kiếm. – nidhin

6

Truyền người gửi,

- (void)tapDetected:(UIGestureRecognizer *)sender 
{ 
    NSLog(@"%@", sender.view); // imageview 
} 
Các vấn đề liên quan