我在UIScrollView中顯示圖像與UIImageView.I爲每個ImageView添加了UIGestureRecognizer,並且我設置了圖像視圖的標記屬性。點擊特定的圖像視圖。但我只獲得最後ImageView.Pasting代碼標籤下面。您的幫助將不勝感激。在UIScrollview上顯示圖像在水平上在ipad上並獲取水龍頭上的圖像標記
UITapGestureRecognizer *tapRecognizer;
tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(imageViewDidTapped:)];
tapRecognizer.numberOfTapsRequired = 1;
tapRecognizer.delegate = self;
scrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(5, 60, self.view.bounds.size.width-20, self.view.bounds.size.height-100)];
scrollView.delegate = self;
scrollView.pagingEnabled = YES;
scrollView.scrollEnabled = YES;
scrollView.indicatorStyle = UIScrollViewIndicatorStyleWhite;
[scrollView setCanCancelContentTouches:YES];
[scrollView setUserInteractionEnabled:YES];
float width;
for (NSDictionary *dict in object) {
UIImageView *backgroundImageView = [[UIImageView alloc]initWithFrame:CGRectMake(width, 0, self.view.bounds.size.width-20, self.view.bounds.size.height-40)];
NSDateFormatter *dateformatter = [[NSDateFormatter alloc]init];
[dateformatter setDateFormat:@"yyyy-MM-dd"];
[dateformatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
NSDate *date = [dateformatter dateFromString:[NSString stringWithFormat:@"%@",[dict objectForKey:@"id"]]];
NSTimeInterval timeStamp = [date timeIntervalSince1970];
backgroundImageView.tag = timeStamp;
[backgroundImageView setUserInteractionEnabled:YES];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:[dict objectForKey:@"coverImage"]]];
AFImageRequestOperation *operation = [AFImageRequestOperation imageRequestOperationWithRequest:request
imageProcessingBlock:nil
success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image){
backgroundImageView.image = image;
}
failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error) {
NSLog(@"Error %@",error);
}];
[operation start];
width = width + backgroundImageView.frame.size.width;
[backgroundImageView addGestureRecognizer:tapRecognizer];
[imageViewArray addObject:backgroundImageView];
[scrollView addSubview:backgroundImageView];
}
而對於越來越手勢事件
- (void)imageViewDidTapped:(UIGestureRecognizer *)gesture{
UITapGestureRecognizer *tapGesture = (UITapGestureRecognizer *)gesture;
UIImageView *tappedImageView = (UIImageView *)[tapGesture view];
NSDateFormatter *dateformatter = [[NSDateFormatter alloc]init];
[dateformatter setDateFormat:@"yyyy-MM-dd"];
[dateformatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
NSLog(@"Issue Date :%@",[dateformatter stringFromDate:[NSDate dateWithTimeIntervalSince1970:tappedImageView.tag]]);
}
,你看,我已經添加手勢識別每個圖像view..and做新的手勢識別每個新的圖像視將是不那麼合乎邏輯 – Harshavardhan
一兩件事,NSTimeInterval是double類型和視圖的標籤不能用於存儲它。 – KudoCC
我寫的代碼工作正常,但我只是最後一次imageView的點擊手勢事件不是預期的。 – Harshavardhan