У меня есть представление, полученное из контроллера UIScrollView, которое я использую для просмотра изображений в библиотеке. Это отлично работает.
Я наложил UIView на правую сторону, чтобы обрабатывать прикосновения для быстрой прокрутки списка изображений. Моя проблема в том, что если я передаю касания либо в «super», либо в «nextResponder», они никогда не попадают в объект UIScrollView, приведенный ниже.
У меня вопрос, как заставить приведенный ниже UIScrollView обрабатывать касания, которые мне не нужны? Я устанавливаю таймер на 0,3 секунды, чтобы за это время все касания передавались в UIScrollView для обработки. Так что, если пользователь начал жестом перелистывания, чтобы перевернуть страницу, это произойдет.
Вот код для метода touchesBegan:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
[super touchesBegan:touches withEvent:event];
// Start a timer to trigger the display of the slider and the processing of events.
touchesTimer = [NSTimer scheduledTimerWithTimeInterval:0.3 target:self selector:@selector(showSlider:) userInfo:nil repeats:NO];
// Where are we at right now?
UITouch *touch = [touches anyObject];
CGPoint currentPoint = [touch locationInView:self.view];
lastPage = [self page:currentPoint.y];
// Pass the event though until we need it.
// [self.nextResponder touchesBegan:touches withEvent:event];
if ([touch.view isKindOfClass:[UIScrollView class]])
{
if (self.nextResponder != nil &&
[self.nextResponder respondsToSelector:@selector(touchesEnded:withEvent:)])
{
[self.nextResponder touchesEnded:touches withEvent:event];
}
}
}