Я читал различные темы по этому поводу, но ни один не дал мне точного решения, которое мне нужно, но они меня довольно близко
У меня есть самый верхний UIViewController, который содержит подкачку UIScrollingView (созданную через xib)
UIScrollingView загружает массив фиктивных контроллеров представления, которые меняются местами на различные контроллеры представления, когда пользователь пролистывает страницы.
Одно из этих подпредставлений содержит кучу ползунков - обычная проблема: если пользователь слегка пропускает ползунок, вместо этого он прокручивает страницу.
В подпредставлении я разместил UIView за ползунками, частично закрывающими экран: 'uiviewblocker'
Идея состоит в том, что этот uiviewblocker поглощает любые прикосновения в непосредственной близости от ползунков, но смахивания за пределы uiview обрабатываются родительским UIViewController. Я разделил UIView 'uiviewblocker' на дубликат UIViewController 'MyView', чтобы я мог его обнаружить.
Я дошел до ...
Родительский UIScrollView:
scrollView.delaysContentTouches = NO;
Подпредставление UIViewController
-(void)touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event {
NSLog(@"touchesBegan");
//[self.nextResponder touchesBegan: touches withEvent:event];
UIView *touchView = [[touches anyObject] view];
if ([touchView isKindOfClass:[MyView class]]) {
NSLog(@"funky shit");
[super touchesBegan:touches withEvent:event];
//[self.delegate touchesBegan:touches withEvent:event];
//[self touchesBegain:touches withEvent:event]; // View does not respond: crashes
//UIView *parent = self.view.superview;
//[parent setCanCancelContentTouches:YES]; // UIView does not respond
//UIScrollView * parentScrollView = (UIScrollView*)self.superview; // Superview not in structure
} else {
NSLog(@"normal shit");
}
}
Итак, теперь я могу определить, когда пользователь касается UIview области безопасности, проверив его класс MyView, но я не могу понять, как либо сообщить родительскому UIScrollView, что нужно прервать, либо просто прикоснуться к нему тут же