Я просто пытаюсь заполучить UIImageView, который был активирован, из UIScrollView.
Я нашел 2 способа достижения вышеуказанного в Интернете.
1-й метод:создайте жест касания в uiimageview перед добавлением его в scrollviewer.
Этот метод не работает для меня.метод handleSingleTap никогда не вызывается.
У меня нет идей о том, что я делаю неправильно / почему это не работает.
UITapGestureRecognizer *singleTap =
[[UITapGestureRecognizer alloc] initWithTarget:self
action:@selector(handleSingleTap:)];
singleTap.numberOfTapsRequired = 1;
[imageView addGestureRecognizer:singleTap];
[singleTap release];
[framesSourceScrollview addSubview:imageView];
[imageView release];
- (void)handleSingleTap:(UIGestureRecognizer *)sender
{
NSLog(@"image tapped!!!");
}
2-й метод: подкласс UIScrollView
@interface SingleTapScrollViewer : UIScrollView {
}
@end
@implementation SingleTapScrollViewer
- (id)initWithFrame:(CGRect)frame
{
return [super initWithFrame:frame];
}
- (void) touchesEnded: (NSSet *) touches withEvent: (UIEvent *) event
{
// If not dragging, send event to next responder
if (!self.dragging)
[self.nextResponder touchesEnded: touches withEvent:event];
else
[super touchesEnded: touches withEvent: event];
}
@end
In the ViewController
- (void) touchesEnded: (NSSet *) touches withEvent: (UIEvent *) event
{
// Process the single tap here
NSLog(@"Scroll view single tapped. touches count : %d", touches.count);
UITouch *touch = [touches anyObject];
UIImageView *imgView = (UIImageView*)touch.view;
NSLog(@"tag is %@", imgView.tag);
}
Использование этого методареспондент touchesDown вызывается, но «[затрагивает любой объект]» - это не UIImageView, к которому был подключен.
Я пытался установить тег для каждого UIImageView, который я добавляю в просмотр прокрутки с увеличивающимся счетчиком, но я получаю 0 независимо от того, на какое изображение я нажимаю.
Я новичок в какаов общем, и я не уверен, как использовать этот респондент любым другим способом.
Любые предложения / подсказки были бы хорошими.
заранее спасибо.